问题标签 [highland.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - highland 中的请求流未正确向前传递
request
当我通过映射它已经是空数组时,我在处理 nodejs 流时遇到问题。
javascript - 如何在 highland.js 地图中使用错误
这个功能
日志
我希望它记录
如何在 highland.js 中正确使用错误?
node.js - 使用流减少nodejs应用程序内存?
这可能是一个新手问题,但我搜索并找不到令人满意的答案。
我的 node.js 应用程序似乎消耗了大量内存。每个进程消耗大约 100MB。我听说 nodejs 本身每个进程的内存占用约为 30MB。
该应用程序是一个 JSON api,由 MongoDB 支持。在某些情况下,一个 API 请求会导致许多数据库请求,主要是填充子关系。一个典型的查询是这样的:(1)根据查询条件获取一个objectIds数组,(2)迭代每个objectId,并向数据库发出查询以填充数据(有人称之为水合)。
该代码大量使用 async.js。我试图分析内存使用情况,似乎 async.js 正在使用大量内存,但没有内存泄漏的迹象。async.js 的作者还提出了一个流库 highland.js ( http://highlandjs.org/ )。我是 nodejs 流的新手,我很好奇这是否是替代 async.js 的可能工具?该网站似乎提到underscore
但我主要async.js
用于异步处理。
谢谢!
node.js - 如何从高原溪流中阅读?
所以我有一个高原溪流:
我如何阅读fileStream
?根据Highland docs,流上没有read()
方法。
javascript - 将流减慢到每秒一个块
我有一个高地流逐行读取文件,我想将其减慢到每秒一个块。我浏览了文档,发现的唯一功能是throttle()
and debounce()
。这两个值都下降了。我需要保持我所有的价值观,只是放慢速度。
javascript - 将淘汰赛可观察更改映射到事件流
我正在处理一个内置在 knockout.js 中的模块,我想按照 RxJs、highland.js 或 bacon.js 的方式将对可观察对象的更改映射到事件流上。
我知道有办法通过延长淘汰赛来做到这一点,比如ko.subscribable.fn.someFilter
. 但这假设我想让淘汰赛为我做我的工作——我不想,特别是。
通常在培根或高地你会看到这样的东西:
不幸的是,在淘汰赛中,我无法找到一种简单的方法来挂钩事件,因为淘汰赛实现了发布/订阅而不是发射器。关于我如何上钩的任何见解?
我在想像调解器发射器这样的东西,它订阅所有可观察的属性,然后发出事件。
假设我有一个受 ko 视图模型约束的东西:
并且视图模型类似于
然后我映射如下,_
高地在哪里。
一切都很好,我的发射器发射得很好,但是这什么也没做:
所以,我错过了一些东西。怎么了?
async.js - async.applyEachSeries 转换为 highland.js
我使用async.applyEachSeries
.
我已经多次尝试将其转换为 highland.js,但我并没有摸索那里的管道。我很确定我需要_.wrapCallback(firstThing)
为 firstThing 和 secondThing 做,但不确定我是否需要_.pipeline
或.series()
什么。
javascript - 使用 highland.js 以引用原始流数据的方式串行执行异步任务
我有一系列事件:
对于流中的每个事件,我需要加载一个模型实例(我的 DAL 返回 Promise),然后在模型的每个实例上调用一个方法,将原始事件数据中的一些数据作为参数传递。
加载模型实例并不太困难:
但是一旦我有了模型,我就无法弄清楚如何调用模型上的方法并将其传递data.foo
给它。基本上,对于我需要做的每个实例:
我玩过分叉流,在分叉上拉模型,然后以不同的组合使用zip
和invoke
,但我没有任何运气。使用 async,我可以通过适当的闭包用户来非常简单地处理这个问题。如何使用 highland.js 使用流来完成此操作?
javascript - 带有nodejs断言的摩卡挂起/超时断言(假)而不是错误
我有这种摩卡测试:
问题是,每当我这样做assert(false)
时,测试都会挂起直到超时,而不是给出断言错误,为什么?
编辑:
例如,如果我有这两个测试
第一个,如预期的那样给出断言错误,第二个,logs here
,并且挂起,assert(false)
所以after
永远不会记录。它与articles
作为流有关,并且断言在pull
回调中,这来自highland.js API。
解决编辑:
所以根据保罗的说法,我用这段代码解决了这个问题:
编辑2:
我已经制作了问题的简化版本:
我看到你的版本确实有效@Louis,但如果你将承诺加入混合中,mocha 无法解决问题,所以它会在这个例子中挂起。还可以尝试注释掉assert false
并查看它是否通过。
所以路易斯,我希望我能引起你的注意,你能解释一下这个问题吗,try catch
看起来确实很丑,我希望你能找到一个合理的解决方案。