1
我有一個未知數量的可能從請求運行的異步進程。有一段文本要被這些進程修改。bluebird .all()不會調用。然後
UpdateScript與要修改的文本一起被調用,它有一個回調函數,我希望在所有內容都完成時運行。
var promise = require('bluebird');
function updateScript(text, cb){
var funcChain = [],
re = some_Regular_Expression,
mods = {text: text};
while (m = re.exec(mods.text)) {
// The text is searched for keywords. If found a subprocess will fire
....
funcChain.push(changeTitleAsync(keyword, mods));
}
promise.all(funcChain)
.then(function(){
// This is never called.
cb(mods.text);
});
}
function changeTitle(encryptedId, mods){
try{
// database request modifies mods.text
}catch(e){
throw e;
}
}
var changeTitleAsync = promise.promisify(changeTitle);
的changeTitle代碼的調用,但「則」呼叫不是
嘗試捕捉是不必要的,完全相同的事情已經發生自動 – Esailija 2014-10-14 11:27:17