http fetch 调用的事务行为
Transaction behavior for http fetch calls
有没有办法为 javascript 中的一组 http 调用创建交易?
我正在使用流行的音乐 API,我有一系列 http 调用,我希望作为事务发生,即(全有或全无)。
例如,我创建了一个播放列表,然后将歌曲添加到播放列表中。一个请求不能完成这两个操作,因此需要多个请求。但是,在创建播放列表有效但将歌曲添加到播放列表失败的情况下,我不希望在第一步中创建的播放列表持续存在,因此需要将两个调用分组到一个事务中,在它们全部通过或什么都没有发生的情况下。
在上述场景中,当发生重试时,会创建一个新的同名播放列表来放置歌曲。这会导致名称相同但信息不同的重复播放列表(有些是空的,有些是歌曲)。
您所建议的内容不存在作为开箱即用的解决方案。最好的方法是如果您使用的 API 提供类似的东西。例如,可能 可以通过 GraphQL 查询实现类似的功能,前提是有一个。
否则,您将不得不自行编写此行为。例如。让用户命名播放列表并添加歌曲。提交后,您首先尝试创建播放列表。如果成功,您将继续添加歌曲。如果在某个时候添加歌曲不起作用,您可以重新删除播放列表。最终效果是您拥有类似于 播放列表交易 .
有没有办法为 javascript 中的一组 http 调用创建交易?
我正在使用流行的音乐 API,我有一系列 http 调用,我希望作为事务发生,即(全有或全无)。
例如,我创建了一个播放列表,然后将歌曲添加到播放列表中。一个请求不能完成这两个操作,因此需要多个请求。但是,在创建播放列表有效但将歌曲添加到播放列表失败的情况下,我不希望在第一步中创建的播放列表持续存在,因此需要将两个调用分组到一个事务中,在它们全部通过或什么都没有发生的情况下。
在上述场景中,当发生重试时,会创建一个新的同名播放列表来放置歌曲。这会导致名称相同但信息不同的重复播放列表(有些是空的,有些是歌曲)。
您所建议的内容不存在作为开箱即用的解决方案。最好的方法是如果您使用的 API 提供类似的东西。例如,可能 可以通过 GraphQL 查询实现类似的功能,前提是有一个。
否则,您将不得不自行编写此行为。例如。让用户命名播放列表并添加歌曲。提交后,您首先尝试创建播放列表。如果成功,您将继续添加歌曲。如果在某个时候添加歌曲不起作用,您可以重新删除播放列表。最终效果是您拥有类似于 播放列表交易 .