【发布时间】:2020-06-16 14:05:32
【问题描述】:
我正在尝试阅读 shared preferences 的内容,但我被卡住了。我有这个错误,我不知道如何处理它:
A value of type 'Future<bool>' can't be assigned to a variable of type 'bool'
我的代码如下所示:
onTap: () {
setState(() {
if (_getPref()) { //here occurs the error
_stateColor = _disableColor;
_setPref(false);
} else {
_stateColor = _enableColor;
_setPref(true);
}
});
},
以及方法:
Future<bool> _getPref() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
bool value = prefs.getBool(widget.myIndex) ?? false;
return value;
}
如果有人能帮助我,我将不胜感激!
【问题讨论】:
-
if 条件需要一个 bool 值,但 _getPref 是一个 Future
,使 setState 主体异步和 if(await _getPref)