您好,我正在使用 async用于异步实现 for 循环的 node.js 模块。
我的问题是:如何中断循环执行并跳出循环?我尝试给 return
, return false
但没有运气。
这里是示例代码:
async.until(
function() { return goal; },
function(callback) {
async.each(_rules,
function(rule,callback) {
var outcome = true;
.... some code ....
if(changes){
console.log("hi");
return false;// HERE I NEED TO BREAK
}
else
callback();
},
function(err){ }
);
if (!changes || session.process)
goal = true;
callback();
},
function(err){ callback(session); }
);
最佳答案
async.until
重复调用函数,直到测试返回 true。所以 test 必须返回 true 才能退出循环。这与 async.whilst
相反,后者在测试评估为真时重复运行。
async.each
并行调用函数,因此返回的内容无关紧要。它不是一个可以中断的循环,而是一个遍历数组的迭代器。您停止使用 async.each
的条件应该在测试 async.until
并且您应该自己迭代规则。
关于javascript - 如何打破 async.js 每个循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14939050/