【发布时间】:2022-02-03 03:25:14
【问题描述】:
假设我有两个Highland 流:
import hl from 'highland'
const accounts = hl([
{id: 1, name: "Bob"},
{id: 2, name: "Chris"},
]);
const accountData = hl([
{id: 1, age: 21},
{id: 2, age: 43},
]);
我想映射accounts 流并合并来自accountData 的额外数据,因此结果如下所示:
Highland.Stream<[
{id: 1, name: "Bob", age: 21},
{id: 2, name: "Chris", age: 43},
]>
这对于普通数组来说非常简单,但我想知道在使用流时是否可能。
【问题讨论】:
-
数据是否进入按 ID 排序的两个流 - 两个流将依次发出
id?如果是这样,则可以将 stream.Transform 与定制的 stream.Writable 组合以接受来自辅助流的数据。 -
这不能保证。也不能保证
accountData流对accounts中的每个id都有记录。我想我需要将accountData流消耗到一个数组中,并将其用作内存中的查找。
标签: node.js node-streams highland.js