我正在为我的Locale变量在getter中调用Future对象。
如何让返回值等待它?
class ChangeLocale with ChangeNotifier {
Locale _locale;
Locale get locale {
getLanguage().then((Locale prefLocale) {
_locale = prefLocale;
});
return _locale;
}
set locale(Locale newValue) {
print(newValue);
_locale = newValue;
notifyListeners();
}
}
答案 0 :(得分:0)
get
不能异步。当前,您将在调用then
之前返回值,因此,如果_locale
的初始值为null
,则getter将返回null
,然后更新{{1 }}的价值,但为时已晚。
相反,您必须这样做:
_locale