我有一个通用函数来对我的 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 调用和后续操作在过早触发额外操作之前已经完成?