如何在BFS算法中应用反应式编程

问题描述

我有一段使用BFS算法的代码:

private ExecutionResult execute(GraphQLExecutionNode root) {
  Queue<GraphQLExecutionNode> nodes = new ArrayDeque<>();
  nodes.add(root);
  while (!nodes.isEmpty()) {
    GraphQLExecutionNode node = nodes.poll();
    List<GraphQLExecutionNode> childNodes = resolveField(node,root);
    nodes.addAll(childNodes);
  }
  return buildResult(root);
}

方法resolveField(node,root)是核心过程。在整个过程结束时,元素“根”将完成。 现在,我在此方法中应用了react(Reactor),并得到了Mono而不是List<GraphQLExecutionNode>

Mono<List<GraphQLExecutionNode>> childNodes = resolveField(node,root);

我不知道该如何处理这种情况,因为Mono是惰性的,并且只有在订阅之前才会执行。 如何将无功输出应用于BFS。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...