达特-";此函数的返回类型为'FutureOr<映射<动态的,动态的>>'



我应该如何更正此警告?我需要在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
});

谢谢你!

Futuretimeout函数中的回调需要返回与原始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
});

相关内容

  • 没有找到相关文章

最新更新