【发布时间】:2020-04-16 13:53:59
【问题描述】:
当我尝试时如何从SharedPreferences 获取数据我总是得到结果Instance of 'Future<dynamic>'。 (令牌已存储在 SharedPreferences 中)
D/ViewRootImpl@22e7e79[MainActivity]( 2199): ViewPostIme pointer 0
D/ViewRootImpl@22e7e79[MainActivity]( 2199): ViewPostIme pointer 1
D/ViewRootImpl@22e7e79[MainActivity]( 2199): ViewPostIme pointer 0
D/ViewRootImpl@22e7e79[MainActivity]( 2199): ViewPostIme pointer 1
I/flutter ( 2199): Instance of 'Future<dynamic>'
I/flutter ( 2199): {"data":null,"error":"Route Not Found Exception","message":"Route [login] not defined.","code":500}
我创建了一个代码来获取我的 SharedPreferences 数据
class LoginProvider with ChangeNotifier {
var api = ApiServices();
LoginModel loginModel;
SharedPreferences preferences;
Future<void> logout() async {
print(getToken());
final response = await api.client
.post("${api.baseUrl}/logout", headers: <String, String>{
'Content-Type': 'application/json;',
'Authorization': 'Bearer ' + getToken().toString()
});
print(response.body);
if (response.statusCode == 200) {
clearSharePref();
notifyListeners();
return null;
} else {
return null;
}
}
getToken() async {
preferences = await SharedPreferences.getInstance();
var token = preferences.getString("token").toString();
return token;
}
}
但是当我调用我的 API(注销功能)时,我无法从 SharedPreferences 获取我的令牌。
在调用 API 之前获取我的 SharedPreferences 数据的 correct way 是什么?
【问题讨论】:
-
不要将文字作为图片发布
-
@MarcinOrlowski 完成
-
尝试 String s = await getToken();然后打印 s。
标签: flutter dart sharedpreferences