【问题标题】:CombineLatest in Highland.js在 Highland.js 中结合最新
【发布时间】:2015-12-08 13:45:28
【问题描述】:

如何使用 Highland 实现类似于combineLatest 的行为?图书馆里好像没有类似的东西

【问题讨论】:

    标签: node.js rxjs highland.js


    【解决方案1】:

    我的幼稚实现如下:

     var combineLatest = function(...streams) {
        var _streams = streams.map(
            (s, i) => s.map((x) => {return {[i]: x}})
        )
        return H(_streams).merge().scan1(H.extend).filter((obj) => {
          return Object.keys(obj).length === streams.length
        }).map(obj =>
          _(obj).pairs().reduce(
            (res, [key, val]) => {
              res[key] = val
              return res
            },
            []
          )
        )
      }
    combineLatest(users, photos).each((x) => console.log(x))
    

    但我不担心这种解决方案的性能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多