# 总结

通过实现一个微信小程序版的axios,相信大家对axios的源码,实现思路,设计思想等有了更加深入了解。同时也了解到了微信小程序发送请求、下载文件、上传文件是怎么使用的。

在实现WxAxios的过程中,其实大部分代码跟axios源码是一样的。也就是说其实axios很多功能都是通用的,跟环境,以及底层无关,比如请求/响应拦截器转换请求/响应数据等功能。跟环境以及底层有关的也就只有adapter适配器这部分,因为不同环境,底层所使用的 API 是不一样的,比如 web 端使用的是XMLHttpRequest,node 端使用的是http.request,微信小程序端使用的wx.request/downloadFile/uploadFile

所以大家可以尝试把通用的功能抽取出来,比如请求/响应拦截器转换请求/响应数据等功能,形成一个通用的库。跟环境,底层有关的让用户自己去现实(也就是adapter部分),然后在初始化的时候把adapter传进来,这样就可以适配更多的端了,比如uni-appreact-native等环境

最后,如果这份电子文档对你有帮助,希望你可以给我点一个 star,以给我更多的创作动力