我正在尝试理解如何使用nimble对nodejs进行流量控制,但我无法理解它是如何工作的,并且确实没有解释它的文档(我能找到)
例如,从文档中获取此代码:
_.parallel([
function (callback) {
setTimeout(function () {
console.log('one');
callback();
}, 25);
},
function (callback) {
setTimeout(function () {
console.log('two');
callback();
}, 0);
}
]);
我无法理解函数采用的回调参数,实际作为回调传递的内容是什么?下一个功能在行?如果是这种情况,那么为什么第二个(也是最后一个)函数也会运行callback()?如果没有更多的功能可以运行那么这有什么意义呢?谢谢!
我做了自己的小测试并取出了回调:
var flow = require('nimble');
flow.parallel([
function() {
setTimeout(function() {
console.log('this happens');
}, 3000);
},
function() {
setTimeout(function() {
console.log('and this happens at the same time');
}, 3000);
}
]);
代码的工作方式与传入回调的方式相同,所以现在我觉得我真的不明白回调算法的作用。
答案 0 :(得分:1)
我无法理解函数采用的回调参数,实际作为回调传递的内容是什么?
回调是为了确认异步操作已完成。你不需要知道回调的作用,只需要知道它作为参数接受的内容。
它被称为继续传递。 =>给定一个函数,并将回调作为参数,一旦执行回调将“继续”控制流正在进行的操作。
如果异步操作不成功,您最终可能会将错误对象作为第一个参数传递给回调以产生错误。您可能希望查看npm上的异步包,以便进一步解释此事。