当定义future 时,如下所示:
Future<HttpRequest> httpRequest = HttpRequest.request(url,
method: method, requestHeaders: requestHeaders);
我想处理5秒后的超时.我是这样编写代码的:
httpRequest.timeout(const Duration (seconds:5),onTimeout : _onTimeout());
其中,我的超时函数是:
_onTimeout() => print("Time Out occurs");
根据Future timeout() method documentation,如果省略onTimeout
,超时将导致返回的将来以TimeoutException
结束.但是使用我的代码,我的方法_onTimeout()
被正确地调用(但是立即调用,而不是在5秒之后),并且我总是得到一个
5秒后出现时间异常...(0:00:05.000000之后的TimeoutException:future 未完成)
我错过了什么吗?