您将如何等待特定时间段内的将来响应?
假设我们发出了一个http发布请求,并在关闭http请求之前等待其响应,但是,我们只等待了3秒钟,否则我们关闭了该请求。
您将如何实现?
就像是
Future makePostReq() async{ .... await http response for 3 secs .... if(response) { ... Do something with it } Http.close }
您可以使用Future.any构造函数来创建竞争条件
Future.any
final result = await Future.any([ Future.value(42), Future.delayed(const Duration(seconds: 3)) ]);
您也可以使用Future.timout方法
Future.timout
final result = await Future.value(42).timeout(const Duration(seconds: 3));