我正在从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/