0

我有一个 node.js 函数:

function myFunc(callback) {
    var ret = 50; // some time consuming calculation 
    return callback(random);
}

如果我无论如何都无法编辑它,我怎么知道这个功能何时完成。有没有办法将另一个回调函数链接到它上面。无论如何都无需编辑 myFunc 。

即,如果我正在使用:

async.forEach([1, 2, 3], function iter(myFunc(console.log), ????) {}, function(err){
    // if any of the saves produced an error, err would equal that error
});

我把什么作为迭代器?

当所有 myFuncs 都已执行时,我怎么知道传递控制权?

4

2 回答 2

0
myFunc(function(ret) {
  console.log("finished");
  console.log(ret);
});
于 2012-04-23T09:09:15.803 回答
0

就像是 :

// fn wraps myFunc
var fn = function(callback) {
    // myFunc isn't altered, it is called with callback function
    myFunc(function(random) {
       console.log('done');
       callback(random);
    };
};

async.forEach([1,2,3], fn(console.log));
于 2012-04-23T09:26:06.247 回答