正如标题所述,在此代码snippit(found here)中附加(0);
而非();
的目的是什么:
function runner (fns, context, next) {
var last = fns.length - 1;
(function run(pos) {
fns[pos].call(context, function (err) {
if (err || pos === last) return next(err);
run(++pos);
});
})(0);
}
答案 0 :(得分:5)
大致相当于:
function runner (fns, context, next) {
var last = fns.length - 1;
function run(pos) {
fns[pos].call(context, function (err) {
if (err || pos === last) return next(err);
run(++pos);
});
}
run(0);
}
0
就是传递给run()
的{{1}}的第一个值 - 与递归pos
相同(最好写成run(++pos);
})。
答案 1 :(得分:1)
目的是您将0作为值传递给 pos 参数。