我正在从REST API获取数据。

并检查我从api获取的数据是否不为null。

fun(order,phone){
bool isNotNull;
// repository.myOrder(order, "998$phone") is function which get data from Rest api
     repository.myOrder(order, "998$phone").then((value) {
       if (value != null) {
         isNotNull=true;
         _showOrder.sink.add(value);
       } else {
         print("ELSE B:${isNotNull}");
         isNotNull = false;
         print("ELSE A:${isNotNull}");
         Fluttertoast.showToast(msg: "Not found");
       }
     });
   }


我的 isNotNull 变量始终为 null
它不等待分配。

最佳答案

您应该避免回调 hell ,请尝试以下操作:

Future<void> fun(order, phone) async {
    final value = await repository.myOrder(order, "998$phone");
    value != null ? _showOrder.sink.add(value) : Fluttertoast.showToast(msg: "Not found");
  }

关于flutter - 无法在dart中的then函数中将值分配给外部函数变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61911431/

10-09 04:20