我在遍历中使用了forEach循环
await traverse(json).forEach(async function (value) {
for(var i=0 i<10; i++)={
var result= await someFunction(i);
var result2= doSomething(result);
}
var r = result2;
}
一旦我将内部函数设置为async
,我就会得到Maximum call stack size exceeded
错误。我能做什么?
@ t.j.。克劳德说
forEach不关心异步使用(不等待)。你可以看看横向异步
我认为这个包可以更灵活地适应这种情况。
let queue = traverse(object, function(node, next) {
someAsyncOperation(node)
.then(next)
.catch(err =>{
queue.break();
});
}, function() {
console.log('Done!');
});