Dart 添加延迟构建未来
玩飞镖游戏,是否有可能创造一个构建未来的延迟Dart 添加延迟构建未来,dart,Dart,玩飞镖游戏,是否有可能创造一个构建未来的延迟 Future<String>.value("Hello").then((newsDigest) { print(newsDigest); }) // .delayed(Duration(seconds: 5)) Future.value(“Hello”)。然后((新闻摘要){ 印刷品(新闻摘要); })//.延迟(持续时间(秒:5)) 是的,这是可能的: factory Future.delayed(Dur
Future<String>.value("Hello").then((newsDigest) {
print(newsDigest);
}) // .delayed(Duration(seconds: 5))
Future.value(“Hello”)。然后((新闻摘要){
印刷品(新闻摘要);
})//.延迟(持续时间(秒:5))
是的,这是可能的:
factory Future.delayed(Duration duration, [FutureOr<T> computation()]) {
_Future<T> result = new _Future<T>();
new Timer(duration, () {
try {
result._complete(computation?.call());
} catch (e, s) {
_completeWithErrorCallback(result, e, s);
}
});
return result;
}
factory Future.delayed(持续时间,[FutureOr computation()){
_未来结果=新的_Future();
新计时器(持续时间,(){
试一试{
结果。_完成(计算?.call());
}渔获物(东、南){
_completeWithErrorCallback(结果,e,s);
}
});
返回结果;
}
正如您已经发现的未来。延迟的构造函数创建一个在延迟后运行的未来:
从:
Future.delayed(
持续时间,
[未来或计算()
])
计算将在给定的持续时间过后执行,未来将根据计算结果完成
如果计算返回未来,则此构造函数返回的未来将包含该未来的值或错误
为了简单起见,使用一个值获取一个立即完成的未来,此代码段创建一个延迟的未来,在3秒后完成:
import 'dart:async';
main() {
var future = Future<String>.value("Hello");
var delayedFuture = Future.delayed(Duration(seconds: 3), () => future);
delayedFuture.then((value) {
print("Done: $value");
});
}
导入'dart:async';
main(){
var future=future.value(“你好”);
var delayedFuture=Future.delayed(持续时间(秒:3),()=>Future);
delayedFuture.then((值){
打印(“完成:$value”);
});
}
import 'dart:async';
main() {
var future = Future<String>.value("Hello");
var delayedFuture = Future.delayed(Duration(seconds: 3), () => future);
delayedFuture.then((value) {
print("Done: $value");
});
}