传统上,同步语言,具有两个嵌套的foreach任务循环有条件的退出将是一个容易的任务,如:管理嵌套的异步foreach循环
return new Promise(resolve, reject){
AnArray.forEach(anElement){
ACONSTANTARRAY.forEach(ACONSTANTELEMENT){
if(anElement === ACONSTANTELEMENT){
resolve(bar);
}
}
}
resolve(foo);
}
然而,因为foo将得到解决立即处理这种情况的最佳方法是什么?我必须将其转换为多个Promise.all(array.map(function(){})
呼叫吗?看起来很丑陋,过于复杂并且很难理解。
你的异步代码在哪里?如果你显示你的异步代码,我们可以帮助你更好。而且,如果没有异步代码,那么可能根本就不需要承诺。真正的代码而不是伪代码会给我们提供最有用答案的更好机会。 – jfriend00
@ jfriend00我想保持尽可能的异步。 – hownowbrowncow
在进行同步操作异步时没有通用点。它只会让你的代码比需要更复杂。 '.forEach()'循环是同步的。一直都是。请向我们展示真实的代码,以便我们可以帮助您找到真正的问题的真正解决方案 - 而不是对未描述的问题的理论解决方案。你想解决什么真正的问题? – jfriend00