[英]Flutter Secure Storage
How to get data from secure storage in any other function not in FutureBuilder. 如何从FutureBuilder中未提供的任何其他功能中从安全存储中获取数据。
Future<void> login() async {
print('LOGGGGINNNNNNNNNNNN');
print(read('TOKEN'));
}
Future read(String storageName) async {
return await _storage.read(key: storageName);
}
Print result: Instance of 'Future' 打印结果:“未来”实例
You should do this instead 你应该这样做
Future<void> login() async {
print('LOGGGGINNNNNNNNNNNN');
print(await read('TOKEN'));
}
Future read(String storageName) async {
return _storage.read(key: storageName);
}
Since read
returns a Future it will print what you currently see, so you need to wait its completion. 由于
read
返回Future,它将打印您当前看到的内容,因此您需要等待其完成。
Solution 解
Future readStorage(String storageName) async {
return await _storage.read(key: storageName);
}
Future getToken() async {
final _storage = new FlutterSecureStorage();
await Future.sync(() async => _token = await _storage.read(key: 'TOKEN'));
}
Future<void> login() async {
getToken().then((value){
print(_token);
if(_token == 'Not Authenticated' || _token == null)
{
setState(() {
_isAuthenticated = false;
});
}
else {
setState(() {
_isAuthenticated = true;
});
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.