es6中的for循环里的多重异步,请问该怎么处理呢

for(let i=0;i<len; i++){

user_code = '';
console.log('111');
a.find()
.then((res)=> {
    for(let j=0;j<len;j++){
        b.find()
        .then((res)=> {
            
        })
    }
})

}

想实现查完执行完异步再执行下一步for循环,始终达不到效果。

阅读 3.3k
2 个回答

在下一步的for循环之前加一层判断 if(res)然后在if里面在for循环

let promise = Promise.resolve();
for(let i=0;i<len; i++) {
  promise = promise.then(() => {
    user_code = '';
    return a.find().then((res)=> {
      let innerPromise = Promise.resolve();
      for(let j=0;j<len;j++){
        innerPromise = innerPromise.then(() => {
          return b.find().then((res)=> {})
        })
      }
    })
  });
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题