gpt4 book ai didi

timer - Dart 中 Future.of() 与 Timer.run() 的优势?

转载 作者:行者123 更新时间:2023-12-05 01:10:26 25 4
gpt4 key购买 nike

Dart 有多种创建、处理和返回异步函数的方法。最常见的方法之一是:

import 'dart:async';

var completer = new Completer();

// Previously this would have been new Timer(0, () => ....);
Timer.run(() => completer.complete(doSomethingHere()));
return completer.future;

但是 dart 也直接为 Future 提供了一个构造函数,例如:

import 'dart:async';

return new Future.of(() => doSomethingHere());

我知道 Timer.run()可以使用静态方法的返回值取消版本。而 new Future.of()版本代码略少,使用 new Future.of() 有什么特别的好处吗?在 Timer.run() (或相反亦然)。还是只是我刚才提到的那些好处?

最佳答案

Future.of返回一个 Future,Timer.run不返回任何东西。对我来说,这是主要的区别。

我用 Future.of如果我想返回一个值作为 future 。

我用 Timer.run如果我想稍后运行某个函数,并且我不关心它产生的值。

但是,一个很大的区别是函数何时运行。

对于 Future.of ,该函数在当前事件循环中运行,并且只有它的值在下一个事件循环中可用。

对于 Timer.run ,该函数在下一个事件循环中运行。

关于timer - Dart 中 Future.of() 与 Timer.run() 的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981813/

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