我正在考虑何时使用 process.nextTick。下面我使用异步库来控制我的代码流,并想知道我是否应该在结束回调中调用 nextTick。
async.parallel([
function (callback) {
// do something
callback(data);
},
function (callback) {
// do something
callback(data);
}
],
// callback
function (data) {
process.nextTick(function () {
// do something
});
});
最佳答案
在不确切知道您的“做某事”是什么的情况下,我看不出您在这种情况下需要使用 nextTick
的任何理由。当您有理由将函数的执行推迟到事件循环的下一次迭代时,您可以使用 nextTick
。您可能想阅读 Understanding process.nextTick
了解更多详情。
此外,请注意异步的并行
任务完成回调采用参数err, data
,因此您应该这样做:
async.parallel([
function (callback) {
// do something
callback(null, data);
},
function (callback) {
// do something
callback(null, data);
}
],
// callback
function (err, data) {
if (err) throw err;
// do something
});
主要区别在于,如果其中一个并行任务返回错误(调用 callback
,第一个参数为真),则立即调用最终回调。
关于node.js - 我应该使用 process.nextTick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940974/