引用
Timer 類存在于dart:async內(nèi)哭当,所以我們需要先導(dǎo)入
import 'dart:async';
場(chǎng)景
1.指定時(shí)間結(jié)束后回調(diào)函數(shù)枪孩∧缃叮回調(diào)只需要一次(類似js setTimeout)
2.指定時(shí)間結(jié)束后回調(diào)函數(shù)某宪。回調(diào)多次(類似js setInterval)
例子
回調(diào)只需要一次:
const timeout = const Duration(seconds: 5);
print('currentTime='+DateTime.now().toString()); // 當(dāng)前時(shí)間
Timer(timeout, () { //callback function
print('afterTimer='+DateTime.now().toString()); // 5s之后
});
回調(diào)多次的定時(shí)器:
const timeout = const Duration(seconds: 1);
Timer.periodic(timeout, (timer) { //callback function
//1s 回調(diào)一次
print('afterTimer='+DateTime.now().toString());
timer.cancel(); // 取消定時(shí)器
}
基本用法如上所述掏秩,至于倒計(jì)時(shí)或舞,延遲執(zhí)行....... 自由發(fā)揮。