Promise
意在让异步请求逻辑代码变得干净和直观,让异步请求逻辑代码变得井然有序。
基础语法
创建一个Promise
对象,并将其作为函数值返回。Promise
对象要求传入一个函数,并带有resolve
和reject
参数。这是两个用于结束Promise
等待的函数,对应的状态分别是成功和失败。
function asyncMethod(...args){
//将新创建的Promise对象作为异步方法的返回值,所有的状态就可以使用它所提供的方法进行控制了。
return new Promise((resolve,reject)=>{
//...
})
}
实际应用
///
test() {
return new Promise(function (resolve, reject) {
//做一些异步操作
setTimeout(function () {
console.log('执行完成'i);
resolve('随便什么数据');
}, 2000);
});
}
//第一种调用
m.test();
//第二种调用
m.test().then(function (res){
console.log(res);
})
///
test1() {
const m = this;
return new Promise(function (resolve, reject) {
m.$ajax.post('/user/getInfo').then(function (resp) {
console.log("2:updateKinds");
resolve(resp.data)
//reject(resp.data)
})
});
}
// 使用promise处理异步。
m.test1().then(function (data) {
console.log(data);//resolve走这
}).catch(function (error) {
console.log("error4:"+error);//reject走这
});
参考来源:https://blog.csdn.net/sunhuaqiang1/article/details/85208558