说,我有一个要在同步函数中调用的异步函数。例如:
Future<int> foo() async {
// do something
return 109;
}
int bar() {
var r = wait_for_future(foo());
return r;
}
我正在寻找wait_for_future
的可能实现。甚至可以在Dart中完成吗?
答案 0 :(得分:2)
有一个临时 dart:cli – waitFor
,它允许人们同步等待异步方法。
这仅在Dart VM上可用。
答案 1 :(得分:0)
否,Dart is single-threaded,并且不可能阻塞等待异步任务的主线程:
Dart函数一旦开始执行,它将继续执行直到退出。换句话说,Dart功能不能被其他Dart代码中断。
这意味着无法暂停并等待其他Dart代码执行。