为什么必须在Flutter中使用等待保存/获取本地数据



我想把数据保存到本地(只是一些数据(,我找到了几个包来做这件事(例如shared_preferences、secure_storage、sqflite(,但它们都需要使用await(Future(,如果我使用这些,我必须更改现有的代码以在Future中进行包装,但我只是觉得这很麻烦,所以我想知道为什么所有这些都需要使用wait来保存数据?或者我可以用另一种简单的方法吗?

谢谢!

需要明确的是:在flutter中不可能有同步系统调用。

这是由于一个体系结构决定:Flutter没有使用语言桥,而是使用两条总线(一条是dart,一条是native(相互发送消息。

这比使用桥接器更快,但会强制执行异步消息。

await作为名称建议在不停止执行以下代码行的情况下等待某个事件,因为执行该工作需要几毫秒。因此,使用await是一个好主意,因为函数中需要async

还有其他方法可以在不使用async-await的情况下完成这项工作。这是then()

因此,无需将async添加到函数中即可执行此操作。

performWork().then((result) {}));

如果不希望使用await,可以在Future对象上调用then()。有关详细信息,请参阅此链接。

如果你正在与Flutter合作,你肯定必须处理Future的,没有任何工作可以围绕它。

最新更新