gpt4 book ai didi

Flutter Future 与 Completer

转载 作者:IT王子 更新时间:2023-10-29 07:15:03 29 4
gpt4 key购买 nike

FutureCompleter 有什么区别?

我不是在寻找任何一个的文档部分,相反,我希望看到一个显示两者之间真正区别的示例。

最佳答案

Completer 是一个用于创建 Future 的辅助类,而 Future 是一个 Type

所有异步函数都返回 Future,但使用 Completer 也可以创建返回 Future 的同步函数。您也可以将同步函数与 then 等链接起来。

Completer 对象是单向过程,它不可重新启动。它完成工作并停止。

Future<MyObject> myMethod() {
final completer = Completer();
completer.complete(MyObject());
return completer.future;
}

更新:

举个例子,在我的一个项目中,我必须获取网络图像的分辨率信息。为此,您需要这样的东西: https://stackoverflow.com/a/44683714/10380182

在那里,如您所见,在获取图像后,我们执行一个解析过程,即使它不是异步过程,也可能需要一些时间。为了消除这种阻塞,我们只需使用 Completer

此外,我们需要的信息存在于回调中,因此在其中使用 Completer 会更清晰。然后,我们通过 FutureBuilder 使用它。您可以采取不同的方法,但这是一种非常方便的处理方式。

关于Flutter Future 与 Completer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57639378/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com