Flutter 我想从Firebase Firestore获取自定义开关的值

Flutter 我想从Firebase Firestore获取自定义开关的值,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,我想要开关的当前状态。我尝试了这个,但是我遇到了一个错误,类型“Future”不是类型“bool”的子类型。提前谢谢 statusonoff( Device device) async { DocumentSnapshot variable = await Firestore.instance .collection('device-configs') .document(device.id) .get(); return var

我想要开关的当前状态。我尝试了这个,但是我遇到了一个错误,类型“Future”不是类型“bool”的子类型。提前谢谢


statusonoff( Device device) async {
    DocumentSnapshot variable = await Firestore.instance
        .collection('device-configs')
        .document(device.id)
        .get();
    return variable.data['value']['on'];



CustomSwitch(
                    activeColor: Colors.green,
                    value: statusonoff(context, device),
                    onChanged: (value) async {
                      DocumentSnapshot variable = await Firestore.instance
                          .collection('device-configs')
                          .document(device.id)
                          .get();
                      print(variable.data['value']['on']);
                      setState(() {
                        if (variable.data['value']['on'] == false) {
                          value = true;
                          _configMode = "on";
                          _updateDeviceConfig(context, device);
                        } else if (variable.data['value']['on'] == true) {
                          value = false;
                          _configMode = "off";
                          _updateDeviceConfig( device);
                        }
                        status = value;
                      });
                    },
                  ),


由于方法
statusonoff
返回一个future,标记为
async
,因此它现在将返回一种
future
类型,并且
CustomSwitch
value
属性需要一个布尔值。这就是为什么你会出现这个错误

要解决此问题,只需在
statusonoff(上下文、设备)
前面加上
wait

CustomSwitch(
activeColor:Colors.green,
值:等待状态断开(上下文、设备),
//.....

意外的文本“等待”。请尝试删除该文本。我收到此错误