var p1 = function (){
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('p1')
}, 1000);
})
}
var p2 = function (){
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('p2')
}, 500);
})
}
var p3 = function (){
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('p3')
}, 100);
})
}
var fnArr = [p2, p1, p3]
var run = function (arr, start = 0){
if(start > arr.length || start < 0) return; // 参数start不能超过 arr.length,不能为负数
var next = function (i){
if(i < arr.length){
var fn = arr[i];
fn().then(res => {
console.log(res);
i++;
next(i)
})
}
}
next(start)
}
run(fnArr)
2021-06-28 将多个异步方法同步执行
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一 let和const 1.let (1)一个大括号就是一个块级作用域,let声明的变量只在自己作用域有效; (2...
- 1. promise要解决的问题: 脑筋急转弯:把牛关进冰箱里,要分几步? 很显然,这三个操作不能颠倒顺序,否则任...
- ECMAScript - 学习笔记 🎬 🧩nvm node.js 包管理工具 nvm github[https:/...
- 学习序 1. 环境搭建 2. let 与 const 3. 解构赋值 4. Symbol 5. Map 与 Set...