我有类似的功能
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
});