我是 Nodejs 新手,需要一些指导来编写更好的代码。这是我的问题。
我有一个功能,我正在使用异步瀑布模型。我想在循环中调用该函数并在中间出现问题时中断循环,否则在 for 循环结束时通知一些结果。但由于某种原因,我得到了一个未定义的响应。
function myFunc (arg1) {
async.waterfall(
[
function() {
//do something
callback(null, data);
},
function(data, callback) {
//do something
callback(null, 'done');
}
],
function(err, result) {
return {"error" : err, "res" : result};
}
}
//Here I am calling my function
for (var d in mydata) {
var retdata = myFunc (mydata[d]); //retdata has undefined in it as this line executes before the last function of water fall
if (retdata.error !== 200) {
return // break loop
}
}
//Other wise if every thing is fine nofify after the for loop end
console.log ("done");
简而言之,当瀑布的最后一个函数给出错误时,在结束时通知结果(如果为真)或中断循环的正确和最佳方式是什么。