内容提要
从 1.7.0 版本开始,Axios 支持 fetch 方法,但默认使用 xhr。使用 fetch 需要手动指定,优先级为 ['xhr', 'http', 'fetch']。可以自定义适配器以满足特定需求,Axios 会根据环境选择适配器。
关键要点
-
Axios 从 1.7.0 版本开始支持 fetch 方法,但默认使用 xhr。
-
使用 fetch 方法需要手动指定,优先级为 ['xhr', 'http', 'fetch']。
-
可以通过传入字符串或数组来指定适配器。
-
若想使用 fetch() 适配器,只需提高其优先级,无需自定义适配器。
-
支持自定义适配器以满足特定需求,如 jsonp 请求。
-
Axios 内部根据环境判断使用哪种适配器,默认顺序为 ['xhr', 'http', 'fetch']。
-
新版本中,适配器支持判断被放在各适配器单独的文件中。
-
扩展其他适配器时会更加方便,源码中提供了适配器的管理方式。
延伸解读
Axios 适配器优先级解析
在 Axios 1.7.0 版本中,虽然支持 fetch 方法,但默认优先使用 xhr。这意味着开发者在使用 Axios 时,需手动指定适配器,尤其是在需要使用 fetch 的场景下。了解适配器的优先级顺序有助于避免不必要的错误和性能问题。
自定义适配器的灵活性
Axios 允许开发者自定义适配器,以满足特定需求,如支持 jsonp 请求。这种灵活性使得 Axios 能够适应不同的业务场景,开发者可以根据项目需求调整请求方式,提升代码的可维护性和扩展性。
环境适配器选择机制
Axios 内部通过判断当前环境来选择适配器,确保在不同环境下都能正常工作。了解这一机制可以帮助开发者更好地调试和优化请求,尤其是在多环境部署时,确保请求方式的兼容性和稳定性。
延伸问答
Axios 从哪个版本开始支持 fetch 方法?
Axios 从 1.7.0 版本开始支持 fetch 方法。
如何在 Axios 中指定使用 fetch 方法?
可以通过传入字符串或数组来指定适配器,如传入 'fetch' 或 ['fetch', 'xhr', 'http']。
Axios 默认使用哪个适配器?
Axios 默认使用的适配器顺序是 ['xhr', 'http', 'fetch']。
如果需要自定义适配器,应该如何实现?
可以将 adapter 定义为一个函数,并返回一个 Promise 来实现自定义适配器。
Axios 如何判断使用哪个适配器?
Axios 根据环境支持情况,按照预设的适配器顺序来判断使用哪个适配器。
在新版本中,如何扩展其他适配器?
在新版本中,适配器的判断被放在各适配器单独的文件中,扩展其他适配器会更加方便。