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