有两种不同的方法可以在Dart中配置此行为
设置每个请求超时
您可以使用
Future.timeout方法在任何Future上设置超时。在给定的持续时间过去之后,这将通过引发短路
TimeoutException。
try { final request = await client.get(...); final response = await request.close() .timeout(const Duration(seconds: 2)); // rest of the pre ...} on TimeoutException catch (_) { // A timeout occurred.} on SocketException catch (_) { // Other exception}在HttpClient上设置超时
您还可以使用设置HttpClient本身的超时时间
HttpClient.connectionTimeout。设置超时后,这将适用于同一客户端发出的所有请求。当请求超过此超时时,将
SocketException引发a。
final client = new HttpClient();client.connectionTimeout = const Duration(seconds: 5);



