您将如何在特定的时间内等待 future 的响应?
说,我们在关闭 http 请求之前发出一个 http post 请求并等待它的响应,但是,我们只等待 3 秒,否则我们关闭请求。
您将如何实现这一目标?
类似
Future makePostReq() async{
....
await http response for 3 secs
....
if(response) {
... Do something with it
}
Http.close
}
最佳答案
您可以使用 Future.any
构造函数来制作竞态条件
final result = await Future.any([
Future.value(42),
Future.delayed(const Duration(seconds: 3))
]);
您也可以使用Future.timeout
方法
final result = await Future.value(42).timeout(const Duration(seconds: 3));
https://stackoverflow.com/questions/52672137/
相关文章:
string - Flutter:是否可以仅在传递给文本小部件之前在字符串中格式化(粗体、斜体等)?
android - Flutter:如何让外部应用程序打开文件(如Android的隐式 Intent
flutter - 如何使用flutter firebase_ml_vision插件实时读取字符或条
android - 如何在 Flutter 中使用设备的默认字体?
dart - 如何在 flutter 图像选择器中将图像添加到 Firestore
ios - 如何在 Flutter 中实现可滚动的 Canvas ?
firebase - 如何使用 flutter 删除 Firebase 存储文件?