升级指南
0.13.x->0.14.0
打字本定义
AXOS类型记录定义已经更新,以匹配AXOSAPI并使用ES 2015模块语法。
请使用以下方法import
语句导入类型记录中的AXIOS:
import axios from 'axios';axios.get('/foo') .then(response => console.log(response)) .catch(error => console.log(error));
agent
配置选项
这个agent
配置选项已被两个新选项替换:httpAgent
和httpsAgent
。请用它们代替。
{ // Define a custom agent for HTTP httpAgent: new http.Agent({ keepAlive: true }), // Define a custom agent for HTTPS httpsAgent: new https.Agent({ keepAlive: true })}
progress
配置选项
这个progress
配置选项已被替换为onUploadProgress
和onDownloadProgress
各种选择。
{ // Define a handler for upload progress events onUploadProgress: function (progressEvent) { // ... }, // Define a handler for download progress events onDownloadProgress: function (progressEvent) { // ... }}
0.12.x->0.13.0
这个0.13.0
发行版包含了对自定义适配器和错误处理的一些更改。
错误处理
在此发布之前,错误可能是状态代码错误的服务器响应,也可能是实际的服务器响应。Error
。有了此发布承诺,将始终拒绝Error
。在收到答复的情况下,Error
也将包括回应。
axios.get('/user/12345') .catch((error) => { console.log(error.message); console.log(error.code); // Not always specified console.log(error.config); // The config that was used to make the request console.log(error.response); // Only available if response was received from the server });
请求适配器
这个版本改变了一些关于请求适配器工作方式的内容。如果您正在使用自己的自定义适配器,请注意。
现在适配器外部调用响应转换器。
请求适配器返回
Promise
.
这意味着您不再需要调用transformData
关于响应数据。你也不会再收到resolve
和reject
作为适配器中的参数。
以前的代码:
function myAdapter(resolve, reject, config) { var response = { data: transformData( responseData, responseHeaders, config.transformResponse ), status: request.status, statusText: request.statusText, headers: responseHeaders }; settle(resolve, reject, response);}
新代码:
function myAdapter(config) { return new Promise(function (resolve, reject) { var response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders }; settle(resolve, reject, response); });}
有关详细信息,请参阅相关提交:
0.5.x->0.6.0
这个0.6.0
发布版主要包含bug修复,但是升级时要注意几件事。
ES6承诺填充
直到0.6.0
ES6版Promise
正在使用。随着这个版本,多填充已经被删除,如果您的环境需要它,您将需要自己提供它。
require('es6-promise').polyfill();var axios = require('axios');
这将多填全球环境,只需要做一次。
axios.success
/axios.error
这个success
,和error
别名在。在这次发布时,它们已经被完全删除。相反,请使用axios.then
,和axios.catch
分别。
axios.get('some/url') .then(function (res) { /* ... */ }) .catch(function (err) { /* ... */ });
UMD
AXOS的早期版本随AMD、CommonJS和GlobalBuild一起提供。所有这些都被滚动到一个UMD构建中。
// AMDrequire(['bower_components/axios/dist/axios'], function (axios) { /* ... */});// CommonJSvar axios = require('axios/dist/axios');