【发布时间】:2019-03-28 15:59:00
【问题描述】:
我正在尝试从类的 getter 方法中获取保存在 SharedPreferences 中的一些值。但是SharedPreferences.getInstance() 返回一个Future。有没有办法在非async getter 方法中获取SharedPreferences 对象,例如:
import 'package:shared_preferences/shared_preferences.dart';
class MyClass {
get someValue {
return _sharedPreferencesObject.getString("someKey");
}
}
Dart 中是否有类似于 C# 中的 .Result 属性的东西,例如 getSomethingAsync().Result (https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1.result?view=netframework-4.7.2)?
【问题讨论】:
-
使用
FutureBuilderstackoverflow.com/questions/54634418/… -
嗨@CopsOnRoad,我知道这些解决方案,但我的问题更多是关于是否有办法等待未来对象以非异步方法返回。我编辑了我的问题以使其更清晰(我希望)。
-
@Dean,我不知道你的用例,但好的是在应用程序启动时获得
SharedPreferences,然后在需要时使用它。您也可以在应用的启动画面中实例化它。 -
@CopsOnRoad,这就是我目前正在做的事情。我的问题的答案是“不可能”。