如何在 Dart 中运行重复出现的函数?

2023-11-21

我想一遍又一遍地运行一个函数,中间有一个延迟。我怎样才能用 Dart 做到这一点?


您可以使用Timer类来安排一次性和重复功能。

重复

以下是运行重复函数的方法:

import 'dart:async';
main() {
  const oneSec = Duration(seconds:1);
  Timer.periodic(oneSec, (Timer t) => print('hi!'));
}

计时器有两个参数,一个持续时间和一个要运行的函数。持续时间必须是一个实例Duration。回调必须采用单个参数,即计时器本身。

取消重复定时器

Use timer.cancel()取消重复计时器。这是计时器从重复计时器传递到回调运行的原因之一。


延迟后一击

要在延迟后安排一次性函数(在将来的某个时间执行一次):

import 'dart:async';
main() {
  const twentyMillis = Duration(milliseconds:20);
  Timer(twentyMillis, () => print('hi!'));
}

请注意,一次性计时器的回调不带参数。


尽快一击

您还可以请求函数尽快运行,至少在未来一个事件循环周期内运行。

import 'dart:async';
main() {
  Timer.run(() => print('hi!'));
}

In HTML

计时器甚至可以在 HTML 中工作。实际上,window.setTimeout已被删除,因此 Timer 是将来运行函数的唯一方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Dart 中运行重复出现的函数? 的相关文章