axios({
url:'http://t.weather.sojson.com/api/weather/city/101010100',
methods:'get',
data:{
dataList: []
}
})
.then((response) => {
// 因为层级比较深,匿名函数会导致this指向发生改变
// 这个时候使用箭头函数解决
alert(this);
this.dataList = response.data.data.forecast;
})
.catch(function () {
alert('网络超时, 请重新加载!')
});
then()方法是异步执行。
意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。
语法:promise.then(onCompleted, onRejected);
参数
promise必需。Promise 对象。
onCompleted必需。承诺成功完成时要运行的履行处理程序函数。
onRejected可选。承诺被拒绝时要运行的错误处理程序函数
由上可知,可将axios与then方法分离,达到api统一文件。
如:
//api.js文件:
export function getABC(data) {
return axios({
url:'http://t.weather.sojson.com/api/weather/city/101010100',
methods:'get',
data