Node.js in Action 7.9分
读书笔记 Listing 3.19 Using a community add-on flow-control tool in a simple application
Bsn_Wong

程序里有一段这样的代码,其中有一个回调函数callback,这个callback代码中并没有定义,自己也困惑,但后来看了一下nimble的源码,找到了问题所在

flow.parallel([
function (callback) {
console.log('Downloading Node v0.4.6...');
downloadNodeVersion('0.4.6', '/tmp', callback);
},
function (callback) {
console.log('Downloading Node v0.4.7...');
downloadNodeVersion('0.4.7', '/tmp', callback);
}
], callback);

nimble源码中的parallel方法

exports.parallel = function (fns, callback) {
        var results = new fns.constructor();
        eachParallel(fns, function (fn, k, cb) {
            fn(function (err) {
                var v = Array.prototype.slice.call(arguments, 1);
                results[k] = v.length <= 1 ? v[0]: v;
                cb(err);
            });
        }, function (err) {
            (callback || function () {})(err, results);
        });
    };

可以看到当callback不存在时会默认使用一个匿名空函数

0
《Node.js in Action》的全部笔记 8篇
豆瓣
免费下载 iOS / Android 版客户端