一、使用:
'// 存值'
void postHttp() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('user_token', user.data.token);
}
'// 取值'
void _getGoodsList() async {
var userToken = "";
SharedPreferences prefs = await SharedPreferences.getInstance();
userToken = (prefs.getString('user_token') ?? '没有token');
}
二、思考:
void postHttp() async {
write(user.data.token);
EasyLoading.showSuccess('登录成功');
// 使用then方法是因为在调用的最外部有了 async,
// 而read()方法内部也有了async。正常只保留最外部的就可以。
// 假如有两个async和一个await以后,如果再有一个网络请求方法使用了 await Dio()...就会崩溃。
read().then((value) {
print('token是:$value');
});
}
flutter: token是:anBWeGszVm42ZC10aTBUZ0RnMVUxRFVjcE5WQXZVWlc
'// 存值'
Future<void> write(String token) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('user_token', token);
}
'// 取值'
Future<String> read() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return (prefs.getString('user_token') ?? '没有token');
}
'// 取值'
Future<void> remove() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.remove('user_token');
}
网友评论