Angular-如果以后的请求失败,则取消先前的HTTP请求

时间:2019-03-08 17:50:03

标签: angular angular7 angular-httpclient

当用户更新我的数据库中的项目时,该更新的记录需要保存在该项目的历史记录中。基本上,我的数据库中有一个历史记录表,用于跟踪特定项目的生命周期。

我正在通过服务中的PUT请求对此项进行更改,然后分别调用不同的POST端点以将该操作添加到历史表中。这让我感到担心,因为如果第一个PUT请求成功,则历史记录POST可能会由于互联网连接不正常等原因而失败。...由于准确的历史记录对应用程序至关重要,因此这不是理想的选择。

如果历史记录POST失败,我基本上需要一种回滚初始PUT的方法。

如果有一个角度来实现这一目标,我会很乐意。如果不是,那么将POST历史记录写入PUT端点SQL查询是否更明智?

这是我现在拥有的基本版本:

this._itemService
    .updateItem(updateObject)
    .pipe(flatMap(result1 => this._historyService.postHistory(historyObject)))
    .pipe(take(1))
    .subscribe(result2 => {
       // Notify user that the item was updated.
    });

0 个答案:

没有答案