Flutter/Dart 将 future bool 转换为 bool

Flutter/Dart convert future bool to bool

谁能帮我找出下面这段代码中的问题

void main() async {
  bool c =getstatus();
  print(c);
  }

Future<bool> getMockData() {
  return Future.value(false);
}

bool getstatus() async   
{
  Future<bool> stringFuture = getMockData();
  bool message =  stringFuture;
  return(message); // will print one on console.

}
Future<bool> stringFuture = await getMockData();

要从 Future(async) 方法获取值,您必须 await 它们。在 await 之后,你得到的变量不再是 Future 了。所以基本上你的代码应该是这样的:

void main() async {
  bool c = await getstatus();
  print(c);
}

Future<bool> getMockData() {
  return Future.value(false);
}

Future<bool> getstatus() async {
  bool stringFuture = await getMockData();
  bool message = stringFuture;
  return(message);
}

异步方法必须 return 某物的未来,然后主要是您必须通过编写 await

来获取 bool 值
   void main() async {
      bool c = await getstatus();
      print(c); // will print false on the console.
    }
    
    Future<bool> getMockData() {
      return Future.value(false);
    }
    
    Future<bool> getstatus() async {
      Future<bool> stringFuture = await getMockData();
   
      return stringFuture; // will return false.
    }