那里你有一些安静的错误 . 1.在第一个代码示例中,当您返回字符串的代码时,您将返回null future . 这没有任何意义 . 2.在您的第二个代码示例中,您只返回一个字符串,而您的函数是异步函数,因此它可能会在您使用的任何IDE上显示另一个错误 . 像 - >你需要回归未来 . 所以它应该是前面回答中提到的Future .
Future
创建一个String var就好了
String userId =“”;
在你的课堂内getdetails . 然后在你的函数_355602中执行此操作,假设您已经在 userid 键中使用了一些用于共享首选项的值 .
getuserid() async{
SharedPreferences pref = await SharedPreferences.getInstance();
String u = pref.getString('userid');
userId = u ;
}
现在在同一个类中创建另一个函数只是为了简单明了 .
String userdetails(){
return userId;
}
现在在 class/widget(stateful/stateless) 你想要获得userId这样做: -
像这样创建该类的对象
getdetails g ;
现在调用这样创建的函数..
g.getuserid().then((){
String ID = g.userdetails();
});
我在这里做的是首先创建一个函数,它获取您的值并将其存储到局部变量中,然后调用另一个函数,以便在从共享的prefs类检索该值并将其存储到该局部变量时获取该局部变量的值使用相同的对象,即为什么我使用 .then((){}) 函数我希望它有所帮助 .
本文解决Flutter中异步函数返回类型问题及通过共享偏好存储数据的方法。介绍如何修复返回Future-null的问题,并演示如何正确地使用Future进行异步操作。同时提供了一个具体的示例,展示如何从共享偏好中获取数据。
1118

被折叠的 条评论
为什么被折叠?



