【发布时间】:2017-09-01 06:29:19
【问题描述】:
我正在尝试在for 循环中编写一个函数。但是循环不会等到内部函数得到响应。我怎样才能停止循环,直到每次都得到函数的响应?
在这个过程中下一个循环取决于函数的响应。
我的示例代码:
var a = function(data, callback) {
var d = 1;
for (var i = 0; i < data.length; i++) {
b(d, function(err, result) {
if (!err) {
d = result;
}
if ((i + 1) === data.length) {
callback(err, 'something');
}
});
}
}
var b = function(data, callback) {
var c = data + 1;
callback(null, c);
}
在此代码中,for 循环不会等待它从函数 b 获得响应。
【问题讨论】:
-
“我怎样才能停止 for 循环,直到每次都得到函数的响应。” 你不能。
for是同步的。在这种情况下不要使用循环。 -
感谢您的回复。但是我需要这种类型的操作,我该怎么做?
标签: javascript node.js for-loop callback