dart - dart-从子句返回函数值

标签 dart

我试图返回一个子句发出的值作为函数yield

我将演示:

someValue functionA() async {
  final functionClause func =
      (value) {
        // how to exit functionA with 'value'?
      }

  await functionB(
      functionClause: func
  );
}

对于上面的示例,functionA将返回funcvalue
有没有办法做到这一点?

最佳答案

您可能正在寻找 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/

相关文章:

enums - 使用枚举语法时使用 Unicode 字符是否合适?

dart - 在 Dart 中将子元素添加到 SelectElement

flutter - 如何在 flutter 应用程序中设置底部应用栏的边框半径?

dart - 如何在flutter中的TextFormField中实现日期逻辑

dart - 在 Dart 中同步等待 Future 或 Stream 完成

flutter - 如何创建自定义异常并在 dart 中处理它

Flutter:Stack 忽略 Image 的对齐属性

flutter - 错误: The argument type 'List<String>' can't be assigned to the parameter type 'String'

flutter - "zsh: command not found: pub"在测试我的代码进行锻炼时

event-handling - Dart ,鼠标右键事件未触发