为什么要使用promise封装?
什么是promise?
简单的说:
promise主要用来进行异步计算,可以将异步的操作按照同步的方式执行。一般我们会将promise用来处理ajax的回调地狱。如下代码:
this.$http({
url:
"api/sys/SysDict/list?pageNum=1&pageSize=10",
method: "get"
}).then(res => {
console.log('res: ', res);
this.dictList = res.data.data.records;
this.dictId=this.dictList[0].dictId;
console.log('this.dictId: ', this.dictId);
// -----------------------------
this.$http({
url:
"api/sys/SysDictDetail/list?pageNum=1&pageSize=10&dictId="+this.dictId,
method: "get"
}).then(res => {
console.log("res: ", res);
});
// ----------------------------------
});
},
除此还可以解决:如下问题:
axios({
url: 接口地址,
method:请求方法,
data:携带数据,
}).then(res=>{
//请求接口成功的逻辑
}).catch(err=>{
//请求接口失败的逻辑
})
(1)重复的地方特别多,显得代码不够优雅。
(2)后期一旦不使用axios,改用其它第三方访问后端插件,一个个文件去修改,累死宝宝了。(封装)
Promise的静态方法
Promise就是用来解决回调问题的,避免函数层层嵌套的"回调地狱",严重影响了代码的可读性
Promise有三个状态:成功态、失