如何在等待函数中添加超时



我有类似的功能

aa() async {
try{
tz.initializeTimeZones();
var detroit = tz.getLocation('xxx');
tz.setLocalLocation(detroit);
DateTime v = await NTP.now();
DateTime today = tz.TZDateTime.from(v, detroit);
if(today==...){
// do something
}else{
// do something
}
}catch(err){
throw("err");
}
}

我想在await NTP.now();中设置超时,所以在我等待超过5秒后,我想抛出错误超时。。。有办法做到这一点吗?我在等待Future上遵循了这个Dart超时,但我被卡住了,无法将其实现到我的代码中

在NTP中添加超时,然后放入try-catch

try {
currentDate = await NTP.now(
timeout: const Duration(seconds: 5),
);
} on TimeoutException {
currentDate = DateTime.now();
} 

我认为这可能会对您有所帮助。

Future.delayed(Duration(seconds: 5),
() { 
//do something
});

相关内容

  • 没有找到相关文章

最新更新