次の例は、@ngrx exampleです。この@ngrxの例のmergeMapのメリットは何ですか?
私はこれをこのように観察することができます。最初のmap
関数は、追加する書籍であるを取得し、再びデータベースに保存するmergeMap
によって処理されます。
オリジナルコード:
@Effect()
addBookToCollection$: Observable<Action> = this.actions$
.ofType(collection.ActionTypes.ADD_BOOK)
.map((action: collection.AddBookAction) => action.payload)
.mergeMap(book =>
this.db.insert('books', [ book ])
.map(() => new collection.AddBookSuccessAction(book))
.catch(() => of(new collection.AddBookFailAction(book)))
);
次のコードは、上記のように同じことを行うことができますか? mergeMap
が必要な理由
修正コード:@cartantは最初の答えを追加しましたが、
@Effect()
addBookToCollection$: Observable<Action> = this.actions$
.ofType(collection.ActionTypes.ADD_BOOK)
.map((action: collection.AddBookAction) =>
this.db.insert('books', [ action.payload ])
.map(() => new collection.AddBookSuccessAction(action.payload))
.catch(() => of(new collection.AddBookFailAction(action.payload)))
);