使用Promise来解决异步操作问题
// 在方法中定义Promise
function test01() {
return new Promise((resolve,reject) => {
//里面可以添加任意方法,不一定是请求
setTimeout(function(){
flag = false
if(flag){
receive('成功');
// 改变Promise的状态将Promise对象的状态从“未完成”变为“成功”
}else{
reject('出错了');
// 改变Promise的状态将Promise对象的状态从“未完成”变为“失败”
}
},1000)
});
}
function test02() {
return new Promise((resolve,reject) => {
setTimeout(function(){
flag = false
if(flag){
receive('成功');
}else{
reject('出错了');
}
},1000)
});
}
使用then()
// 在调用方法时:
// 当方法test01执行完毕才会在执行方法test02,异步方法顺序调用
// then()返回一个新的Promise实例,所以它可以链式调用
this.test01().then(()