2012-04-22 7 views
0

私はNode.jsの機能を持っている:私はとにかくそれを編集することはできません場合は、この機能が完了したとき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がすべて実行されたときに、パス制御を知るにはどうすればよいですか?

答えて

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)); 
0
myFunc(function(ret) { 
    console.log("finished"); 
    console.log(ret); 
}); 
関連する問題