R-等待承诺解决清单

时间:2018-08-27 13:41:14

标签: r asynchronous promise

我在R进程中收到了一些值,我想异步计算它们。我正在使用Promise和将来的程序包。 这就是我当前的代码:

arr = list()
i=0
while(i < 10)
{
   a = read messages from KAFKA topic
   arr[[i]] = future(DoSomething(a))
   i = i + 1
}

现在,arr包含一个诺言列表

如何获得首先解决的诺言的value()(依此类推)? 像JavaScript中的promise.race之类的东西。

1 个答案:

答案 0 :(得分:0)

编辑:我只是重新阅读了您的问题,发现您在询问获得第一个结果,而不仅仅是所有结果。下面是获得该代码的代码。这是一个while循环,等待任何结果准备就绪,然后在结果准备就绪时继续前进。

print包中还有一个名为promise_race的函数,但是promises包的问题在于它只能输出结果。您无法将产生的值返回到变量中,以便在主线程中进行进一步的计算。

promises