如何仅在请求时间过长时才打开对话框?

问题描述 投票:0回答:1

我想实现简单的对话框,它只应在请求花费超过 200 毫秒时显示。

onTap: () {
      context.read<AuthBloc>().add(LogoutRequested());
      // if taking more than 200ms -> showDialog which is closing when request is done
      Navigator.of(context).push(MaterialPageRoute(builder: (context) => const LoginPage()));
},

有办法做这样的事情吗?

flutter dio
1个回答
0
投票

您应该将类似

isLoadingLong
的内容添加到
AuthBloc
的状态中。如果登录时间超过 200 毫秒,则该值被块设置为
true
,并在请求完成时设置为
false
。然后可以使用 BlocListener 打开和关闭该对话框。

© www.soinside.com 2019 - 2024. All rights reserved.