FutureProvider:如何使用catchError构建错误屏幕

时间:2020-08-07 12:01:30

标签: flutter flutter-provider

我正在为我的应用程序使用提供程序模式。我尝试通过使用FutureProvider实现替代错误屏幕。我正在使用api调用。如果api调用返回失败,我希望看到类似FutureBuilder的错误屏幕。但是什么也没出来。我在屏幕上看不到任何变化。它忽略错误检查。但是该错误在控制台中可见。

代码:

    Widget build(BuildContext context) {
    bool checkError = false;
    return FutureProvider(
      lazy: false,
      create: (context) =>
          Provider.of<DataProvider>(context, listen: false).getData(),
      updateShouldNotify: (_, __) => true,
      catchError: (context, error) {
        checkError = true;
      },
      child: checkError
          ? Center(
              child: Text('Something went wrong. Try later.'),
            ): DataList(),
    );
  }

0 个答案:

没有答案