【发布时间】:2021-04-13 16:46:41
【问题描述】:
假设我有一个方法updateRecord(),该方法在其中执行一些异步请求,其中一些请求比其他请求更重要,因为它们会影响硬件,而有些虽然必要,但只会影响记录在数据库中。所有这些信息组合起来就代表了对业务模型的一项操作。
关于数据的可靠性,这个请求的顺序应该是什么?我应该先做所有不重要的事情(这可能不会失败)然后是硬件的事情(可能无法更新,因为它需要互联网连接,但这里保存的值是一天结束时唯一重要的值)?如果重要的失败了,我应该删除之前创建的记录吗?
反过来呢?
还是其他方式?
一些伪代码来代表我的困境:
async updateRecord(){
a = await setLogOfCurrentData()
if (a) { do something }
b = await updateARecordInDB()
if (a) { do something }
c = await updateImportantInfoInHardware()
if (!c) {
???
}
}
谢谢!
Ps:不知道如何正确标记这个问题,如果您有什么想法,请告诉我!
【问题讨论】:
标签: javascript asynchronous async-await request data-consistency