关于 Dart 的 Timer 执行定时器
Timer 属于 Dart 异步编程的一部分,通过 Timer 可以创建执行定时器(包括重复执行的)。主要包含 Timer
和 Timer.periodic
两个构造函数:
Timer(Duration duration, void callback()) Timer.periodic(Duration duration, void callback(Timer timer))
分别对应 JavaScript 的 setTimeout
和 setInterval
,如 3 秒之后打印:
const timeout = Duration(seconds: 3); Timer(timeout, () { print('huruji'); });
1 秒重复打印:
Timer.periodic(Duration(seconds: 1), (Timer timer) { print('xie'); });
需要取消定时器,可以使用实例方法 .cancel
int count = 0; Timer myTimer; myTimer = Timer.periodic(Duration(seconds: 1), (Timer timer) { print('xie'); if (count == 10) { myTimer.cancel(); } count++; });
Dart 和 js 一样都是单线程,所以为了能够让定时器尽快的调用,可以使用静态方法 run
Timer.run(callback)
这类似于将 setTimeout 的时间设置为 0
setTimeout(() => {}, 0)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论