flutter - 在没有上下文的情况下使用导航器
问题描述
我有一个包装 http 调用(获取、发布、删除)的类。
我需要实现的是一种检查每个 api 响应的方法,以便能够在例如令牌过期时强制注销。
假设我登录了我的应用程序并且我的令牌过期了;然后我尝试通过这样的调用列出我的帖子:
var results = api.get('http://api.site.com/user/123/posts')
get(String endpoint) async {
return http.get(endpoint,
headers: headers(),
).then((response) {
var result = json.decode(response.body);
if (result['force_logout'] == true) {
UserServices.logout(); // delete secure storage data and other stuff
Navigator.of(context).pushNamedAndRemoveUntil('/login', (Route<dynamic> route) => false);
}
return result;
});
}
在我的 api get 方法中,我希望能够执行用户注销并导航到登录屏幕,但是在没有上下文的情况下如何做到这一点?
解决方案
推荐阅读
- python - 模拟连续调用
- python - 如何在 Python 中确定数组中有多少项在给定间隔之外?
- java - 我们如何通过 `getClass().getName()` 在源文件中定位 lambda 位置?
- json - Marathon 获取 appId:指定路径
- python - Cython 字符串中的循环数据
- angular - 在angular9中成功调用api后触发其他组件方法
- rabbitmq - Springboot RabbitListener 在队列 TTL 后回滚
- python - 使用 Python 按键值名称列出所有 AWS ec2
- wordpress - 使用 elementor pro form 发送唯一 ID
- firebase - Flutter / Firebase 消息传递。:当我在发布模式下运行我的应用程序时不推送通知