无法从回调中分配值

  • 本文关键字:分配 回调 flutter dart
  • 更新时间 :
  • 英文 :


我正在尝试获取一个Future值并将其分配给一个bool。我不能使用async/await。这是我的代码,但value只是打印null。futureFunction返回Future<bool>

bool value;
futureFunction().then((a) { value = a; } );
print(value);

如果你把它放在StatefulWidget中,它应该可以工作

bool value;
_StatefulWidgetDemoState() {
futureFunction().then(
(returnedValue) => setState(() {
value = returnedValue;
})
);
}

then不会等待完成任何任务。在完成未来的功能后,then内部的代码将执行。使用then的实例使用await关键字,并且不要忘记使函数异步。示例:

getBool() async{
bool value = await futureFunction();
print(value);
}

最新更新