简体   繁体   English

"使用 Highland.js 将一个流与来自另一个流的数据进行水合"

[英]Using Highland.js to hydrate one stream with data from another

Say I have two Highland<\/a> streams:假设我有两个高地<\/a>溪流:

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},
]);
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 }
]);

hl([ accounts, accountData ])
  .merge()
  .reduce(new Map(), (accum, account) => {
    const { id }        = account;
    const mergedAccount = Object.assign({}, accum.get(id), account);
    return accum.set(id, mergedAccount);
  })
  .map(map => [ ...map.values() ])
  .doto(console.log)
  .done(() => {});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM