我试图返回一个子句发出的值作为函数yield
我将演示:
someValue functionA() async {
final functionClause func =
(value) {
// how to exit functionA with 'value'?
}
await functionB(
functionClause: func
);
}
对于上面的示例,
functionA
将返回func
的value
有没有办法做到这一点?
最佳答案
您可能正在寻找 Completer
:
someValue functionA() async {
final completer = Completer();
final functionClause func =
(value) {
completer.complete(value);
}
await functionB(
functionClause: func
);
return completer.future;
}
请注意,使用此设置后,
functionA
将仅从value
返回func
,一旦完成functionB
(正在等待)并且在completer.complete
中调用了func
。
关于dart - dart-从子句返回函数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364932/