首页 > 解决方案 > 在没有上下文的情况下使用导航器

问题描述

我有一个包装 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 方法中,我希望能够执行用户注销并导航到登录屏幕,但是在没有上下文的情况下如何做到这一点?

标签: flutter

解决方案


推荐阅读