【发布时间】:2017-01-05 15:28:55
【问题描述】:
我有一个高地流,其中每个元素都是一个获取请求的承诺:
const stream = _[promise1, promise2, promise3, ...];
当然,当我跑步时:
const stream.each(console.log)
我只看到:
Promise { <pending> }
Promise { <pending> }
Promise { <pending> }
但我想创建一个管道并处理承诺的实际结果。 (我不想使用then 或await)。我想通过流管道解决这些承诺。
我想应该有一种方法可以使高地流仅将已解决的 Promise 映射到新流中,因此我希望能够将 Promise 流扁平化为它们的实际值流。
四处挖掘,我想flatMap 或flatten 应该做我正在寻找的东西,但我不知道如何继续,我所有的试验和错误都失败了。
我试过了:
stream.flatMap((id: number) => {
return myAsyncGetRequest(id);
}).each(console.log)
如何解决流中的承诺?
【问题讨论】:
-
这似乎与 reahttp://stackoverflow.com/questions/25638527/using-highland-js-to-perform-async-tasks-in-series-with-references-to-original-s 相关
标签: javascript stream promise highland.js