3
我正在查詢一個數據庫,並檢索結果作爲一行一行'db_row_receieved'事件的行。我試圖按公司ID對這些結果進行分組,但我在訂閱中沒有輸出。RxJS分組發出事件nodejs
db行格式如下所示。
// row 1
{
companyId: 50,
value: 200
}
// row 2
{
companyId: 50,
value: 300
}
// row 3
{
companyId: 51,
value: 400
}
代碼:
var source = Rx.Observable.fromEvent(eventEmitter, 'db_row_receieved');
var grouped = source.groupBy((x) => { return x.companyId; });
var selectMany = grouped.selectMany(x => x.reduce((acc, v) => {
return acc + v.value;
}, 0));
var subscription = selectMany.subscribe(function (obs) {
console.log("value: ", obs);
}
預期輸出:
value: 500 // from the group with companyId 50
value: 400 // from the group with companyId 51
實際輸出: 認購不輸出任何東西,但使用Rx.Observable.fromArray工作時(的someArray)
有誰能告訴我我哪裏出了問題嗎?
你確定'eventEmitter'實際上是用給定名稱發射事件。其餘的代碼看起來不錯。 –
您是否嘗試過grouped.subscribe(data => {console.log(data);});看看groupeBy是否可以工作 –
@Yury,是的,eventEmitter確實發出一行。 – user1145347