串行执行异步任务
1 首先需要将要执行的函数转换成promise 对象
2 使用.then 执行函数,这里可以按照顺序执行
3 .catch 执行错误处理函数
不用Promise需要写一层一层的嵌套代码。有了Promise,我们只需要简单地写:
const job1 = new Promise(fun);
job1.then(job2).then(job3).catch(handleError);
其中,job1、job2和job3都是Promise对象。
并行执行异步任务
1 将所有要执行的函数转换成promise对象
2 执行用Promise.all([数组的形式])
var p1 = new Promise(function (resolve, reject) { setTimeout(resolve, 500, 'P1'); }); var p2 = new Promise(function (resolve, reject) { setTimeout(resolve, 600, 'P2'); }); Promise.race([p1, p2]).then(function (result) { console.log(result); // 'P1' });
想要深入学习的网站推荐:
https://www.liaoxuefeng.com/wiki/1022910821149312/1023024413276544