标签:mis http 嵌套 func 构造函数 resolve 参数 之一 过多
回调函数
回调地狱
回调地狱解决了什么问题
更好的解决方式
let p = new Promise((resolve,reject)=>{
// 正在进行时....
// 已完成
resolve();
// 已失败
reject();
})
p.then(()=>{
// 完成时要做的事情
// 想做什么做什么
return 新的promise实例2
}).then(()=>{
// 新的promise2的成功处理
// 想做什么做什么
return 新的promise实例3
}).then(()=>{
// 新的promise3的成功处理
// 想做什么做什么
return ......;
})
p.catch(()=>{
// 失败时要做的事情
// 想做什么做什么
return 新的promise实例2
}).catch(()=>{
// 新的promise2的失败处理
// 想做什么做什么
return ......;
})
var p1 = new Promise(...);
var p2 = new Promise(...);
var p3 = new Promise(...);
Promise.all([p1,p2,p3]).then((res)=>{
// 全部成功时,要做的事情
// res是个数组,内包含所有promise实例的成功之后的数据
}).catch((res)=>{
// 只要有一个失败,要做的事情
})
ES7提供,专门用于将异步的程序,模拟成同步执行
async function fn(){
let a = await new Promise((success,error)=>{
success("成功了");
})
console.log(a);
let b = await new Promise((success,error)=>{
error("失败了");
})
console.log(b);
}
fn();
与服务器无关,只是,将来可能会用于解决在服务器环境中的程序中的某些问题
标签:mis http 嵌套 func 构造函数 resolve 参数 之一 过多
原文地址:https://www.cnblogs.com/piaoyi1997/p/13065797.html