我正在为我的应用程序使用提供程序模式。我尝试通过使用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(),
);
}