Jho*_*lla 1 local-storage flutter
我正在使用一个名为 Flutter 的包localstorage来保存从 API 后端获得的令牌和用户 ID。我已成功保存数据,正如我从 Chrome 的本地存储中看到的那样:
class AuthService {
final LocalStorage storage = new LocalStorage('my_app_session');
....
login(context, email, password) async {
...
storage.setItem('id', res['data']['id'].toString());
storage.setItem('token', res['token']['access_token']);
...
Navigator.pushNamed(context, '/somepage');
});
}
Run Code Online (Sandbox Code Playgroud)
然后从 ChangeNotifier 模型:
class OrganizationModel extends ChangeNotifier {
...
var orgService = new OrganizationService();
...
Future fetch() async {
List res = await orgService.fetch();
...
}
}
Run Code Online (Sandbox Code Playgroud)
最后,关于OrganizationService:
class OrganizationService {
final LocalStorage storage = new LocalStorage('my_app_session');
_token() {
var token = storage.getItem('token');
print(token);
return token;
}
}
Run Code Online (Sandbox Code Playgroud)
问题token总是返回null。我通过 setItem() 尝试了另一个新条目只是为了测试它,它完全用新条目替换了整个本地存储,就好像它看不到现有条目一样。
根据我的工作流程,有什么想法为什么会发生这种情况吗?
小智 6
var ready = await storage.ready;
print('searching ${key} is $ready');
dynamic userJson = storage.getItem(key);
Run Code Online (Sandbox Code Playgroud)
只需检查 storage.ready 并搜索项目即可。
| 归档时间: |
|
| 查看次数: |
3006 次 |
| 最近记录: |