【发布时间】:2022-01-11 18:40:49
【问题描述】:
我在一个项目中工作,我使用 SQLite 从本地数据库中检索数据,然后处理数据,最后在计算方法中使用处理后的数据。
问题是代码是异步运行的,所以当我第一次调用计算方法时,它在检索和处理方法之前起作用,它只在第二次或第三次运行时起作用。
我有 4 种检索方法:
retrieve1();
retrieve2();
retrieve3();
retrieve4();
然后我想处理检索到的数据所以我有以下方法:
processRetrieve1();
processRetrieve2();
processRetrieve3();
processRetrieve4();
最后我要调用计算方法:
Calculate();
如何按以下顺序运行此代码? 检索方法 -> 处理方法 -> 计算方法
【问题讨论】:
-
如果这些方法返回承诺,为什么不尝试使用
Promise.all? -
不要尝试同步运行异步代码。一旦它是异步的,它就是异步的。您可以使用
async/await让它感觉更像是同步代码。更多细节似乎是必要的——代码是存根代码/伪代码,所以它不是很有建设性。 -
如果你想在这个领域取得成功,你需要拥抱异步编程,而不是与之抗争。
标签: javascript reactjs react-native sqlite