API に対して DELETE 呼び出しを行う一般的な機能があります。関数は次のようなものです。
deleteItem(url, item, action) {
return this.http.delete(url)
.subscribe(
() => this.store.dispatch({ type: action, payload: item }),
error => this.errorHandler(error),
() => console.debug('Delete complete')
)
;
さまざまな URL、アイテム、およびアクションを送信するいくつかの場所からこの関数を呼び出します。次のような関数があるとしましょう。
deleteBookcase(bookcase) {
this.apiService.deleteItem(BOOKCASE_URL, bookcase, BOOKCASE_REMOVE);
}
アイテムが API から削除されたら、別のアクションをトリガーしたい場合があります。たとえば、本棚を削除したので、私のグローバル ストアの本が変更されたかどうかを確認したい場合があります。
deleteBookcase
追加のアクションを時期尚早にトリガーする前に、HTTP 呼び出しと後続のアクションが完了したことを関数に知らせる簡単な方法はありますか?