promise 解决回调地狱
function fn(str){
return new Promise((resolve,reject) => {
//处理异步任务
const flag=true;
setTimeout(function(){
if(flag){
resolve('ok')
}
else{
reject('操作失败')
}
})
})
}
fn('666')
.then((data)=>{
console.log(data);
return fn('77777');
})
.then((data)=>{
console.log(data);
return fn('8888')
})
.then((data)=>{
console.log(data);
})
.catch((data)=>{
console.log(data);
})
await 解决回调地狱
function fn(str) {
return new Promise( (resolve, reject) => {
const flag = true;
setTimeout(function () {
if (flag) {
resolve(str)
} else {
reject('处理失败')
}
})
})
}
//封装一个异步async函数
async function getAsync(){
var res1=await fn('666'); //await直接拿到fn()返回的promise的数据,并且赋值给res
console.log(res1);
var res2=await fn('777');
console.log(res2);
var res3=await fn('999');
console.log(res3);
}
getAsync();