定义Future时如下:
Future<HttpRequest> httpRequest = HttpRequest.request(url,
method: method, requestHeaders: requestHeaders);
Run Code Online (Sandbox Code Playgroud)
我想在5个secondes之后处理超时.我正在写这样的代码:
httpRequest.timeout(const Duration (seconds:5),onTimeout : _onTimeout());
Run Code Online (Sandbox Code Playgroud)
我的超时功能是:
_onTimeout() => print("Time Out occurs");
Run Code Online (Sandbox Code Playgroud)
根据Future timeout()方法文档,如果onTimeout省略,则超时将导致返回的future用a完成TimeoutException.但是使用我的代码,我的方法_onTimeout()被正确调用(但是立即,不是在5秒之后),我总是得到一个
5秒后的TimeException ...(0:00之后的TimeoutException:05.000000:未来未完成)
我错过了什么吗?