Flutter Flatter、Futures、Context和Navigator.pop问题

Flutter Flatter、Futures、Context和Navigator.pop问题,flutter,asynchronous,Flutter,Asynchronous,提前感谢您调查这个问题,我只是在弹出页面时遇到了一些问题 我有一个小部件中的代码。它正在扫描二维码 @覆盖 initState(){ _扫描(); super.initState(); } Future\u scan()异步{ 条形码=等待扫描仪扫描(); test(); Navigator.pop(上下文); } 我如何正确地使用其他库?在回调函数中调用widget.test()和Pop 这是我得到的错误图片 所以解决办法是这样的。我没有直接在setState()中调用函数,而是翻转了一个b

提前感谢您调查这个问题,我只是在弹出页面时遇到了一些问题

我有一个小部件中的代码。它正在扫描二维码

@覆盖
initState(){
_扫描();
super.initState();
}
Future\u scan()异步{
条形码=等待扫描仪扫描();
test();
Navigator.pop(上下文);
}
我如何正确地使用其他库?在回调函数中调用widget.test()和Pop

这是我得到的错误图片
所以解决办法是这样的。我没有直接在setState()中调用函数,而是翻转了一个bool

bool\u popBack=false;
@凌驾
initState(){
_captureController.onCapture(
(数据){
打印('onCapture--$data');
设置状态(){
_captureText=数据;
如果(!\u弹出框){
_popBack=true;
_popTime();
}
});
},
);
这就成功了

Future\u popTime()异步{
test();
Navigator.of(context.pop();
}
不要问我太多关于为什么或如何工作的问题!检查此链接您不能使用上下文在initstate上获取继承的小部件。此链接为您提供了一些建议。
@override
void initState() {
super.initState();

_captureController.onCapture(
  (data) {
    print('onCapture----$data');

    setState(() {
      _captureText = data;
    });
  },
);