使用異步函數消耗高地流的正確模式是什麼?看起來.each方法不適用於使用wrapCallback包裝的節點式異步函數。如何使用異步函數消耗高地流?
我想做類似以下的事情。請注意,我希望捕獲.each函數中生成的錯誤,並在所有異步消耗完成時觸發.done函數。
function asyncConsume(item,cb) {
// perform async operation based on data stream here
return cb(null,item);
}
var wrappedFunction = _.wrapCallback(asyncConsume);
highlandStream.each(wrappedFunction).done('All successfully done!')
.stopOnError(function(err) {
console.log('This error handler catches errors in .each() as well.');
});
謝謝。
謝謝。我真的不需要使用flatMap來轉換這個值(我想觸發一個電子郵件來發送流中的每個項目),但我試過flatMap,它現在看起來是最好的解決方案。這樣,我可以把錯誤處理程序放在它之後,以便在異步操作之後捕獲錯誤。 – bmiller59
我的意思是,你正在將你的輸入變成flatMap到一個異步操作。 – Stefano