我应该如何更正此警告?我需要在10秒后显示警报对话
Future<Map> myMethod(myAPIUrl, headers) async {
await http.get(myAPIUrl, headers: headers).then((response) {
//my code
});
}
myMethod('myapi.com')
.timeout(Duration(seconds: 10), onTimeout: (){
print('time timeout')
})
.then((response) {
//mycode
});
谢谢你!
Future
的timeout
函数中的回调需要返回与原始Future
类型相同的值。这使得回调返回的Future
总是有一个结果,无论它是否超时。
只需返回一个与timeout
回调中的原始future类型相同的对象。
myMethod('myapi.com')
.timeout(Duration(seconds: 10), onTimeout: (){
print('time timeout');
//show dialog code here
return Map();
})
.then((response) {//Response will end up being an empty map on timeout and the return of `myMethod` otherwise
//mycode
});