如何确保顺序 API 调用不会导致数据完整性问题



React ->节点→Sql

我必须在按钮单击上进行顺序api调用。比方说——v1/firstApiv1/secondApi

Promise.all([axios.post('v1/firstApi), axios.post('v1/secondApi'])

现在第一个api用一些数据更新table 1,第二个api用一些其他数据更新table 2。

第一次呼叫成功,第二次呼叫失败。我有一个问题,表2中的数据不正确,如预期的…

如何解决这个问题而不尝试回滚firstApi数据库更新

您没有提供任何代码,所以我猜您是在要求一个通用的解决方案。

如果你真的需要同时更新两个表中的数据,你可以做的一件事就是合并API中的数据库调用并执行数据库事务。作为一个整体,这将不会成功或失败。所以你不会有数据不一致的问题。

如果你没有访问API,那么我猜你不能从你的前端做。您必须手动执行另一个调用来恢复第一个表的数据

最新更新