gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:37:06 24 4
gpt4 key购买 nike

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

最佳答案

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

重复

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

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

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

取消重复计时器

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

<小时/>

延迟后一次性

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

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

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

<小时/>

尽快一次性

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

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

在 HTML 中

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

关于dart - 如何在 Dart 中运行重复出现的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946012/

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