Future_数据持久化

2022-07-01  本文已影响0人  Eyes_cc
一、使用:
'// 存值'
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');
}
上一篇 下一篇

猜你喜欢

热点阅读