首页 > 解决方案 > 在 setState 中使用异步操作的解决方法

问题描述

我有一个异步操作,其结果应该重建一个小部件。

医生setState()

提供的回调会立即同步调用。它不能返回未来(回调不能是异步的),因为这样就不清楚何时实际设置了状态

所以我有一个简单的解决方法可以满足我的目的,但我不确定这是否是正确的方法。

// awaiting for an async operation
distanceFromCenter = await Geolocator().distanceBetween(
  selectedLocation.latitude,
  selectedLocation.longitude,
  ReferencePoint.latitude,
  ReferencePoint.longitude);
setState(() {
// A colleague might not know why we're calling the setState() here
});

欢迎任何建议。

标签: flutter

解决方案


推荐阅读