Tag: highland.js

从大文件stream式传输并创build一个数组

我遇到了highland.js的问题。 我需要从我的stream数据创build一个函数的数组,但不能得到它的工作。 这是我的代码,但requests总是空的。 var requests = []; _(fs.createReadStream("small.txt", { encoding: 'utf8' })) .splitBy('—–BEGIN—–\n') .splitBy('\n—–END—–\n') .filter(chunk => chunk !== '') .each(function (x) { requests.push(function (next) { Helpers.Authenticate() .then(function (response1) { return Helpers.Retrieve(); }) .then(function (response2) { return Helpers.Retrieve(); }) .then(function () { next(); }); }); }); console.log(requests) async.series(requests);

我怎样才能读取一串JSON对象到浏览器

如下例所示,给定一个node.js样式的对象stream,如何通过网页上的http请求读取并进行处理: {"id":"one", "value":"the first object"} {"id":"two", "value":"the second object"} {"id":"three", "value":"the third object"}

每秒钟减less一块

我有一条逐行读取文件的高地stream,我想每秒慢一点。 我查看了文档,唯一的function是throttle()和debounce() 。 这两个下降值。 我需要保持所有的价值观,放慢速度。

使用stream减lessnodejs应用程序内存?

这可能是一个新手问题,但我search,找不到满意的答案。 我的node.js应用程序似乎消耗了大量的内存。 每个进程消耗约100MB。 我听说nodejs本身每个进程有大约30MB的内存空间。 该应用程序是一个JSON API,由MongoDB支持。 在一些情况下,一个API请求会导致很多数据库请求,主要是填充子关系。 一个典型的查询是这样的:(1)根据查询条件获取一个objectId数组,并(2)迭代每个objectId,并发出一个查询到数据库来填充数据(一些调用水合)。 代码大量使用async.js。 我试图分析内存使用情况,似乎async.js使用大量的内存,但没有内存泄漏的迹象。 async.js的作者也出来了一个stream库highland.js( http://highlandjs.org/ )。 我是新的nodejsstream,我很好奇,如果这是一个可能的工具来取代async.js? 该网站似乎提到underscore但我主要使用async.js进行asynchronous处理。 谢谢!

摩卡与nodejs断言悬挂/超时断言(错误),而不是错误

我有这种摩卡testing: describe 'sabah', → beforeEach → @sabahStrategy = _.filter(@strats, { name: 'sabah2' })[0] .strat it 'article list should be populated', (done) → @timeout 10000 strat = new @sabahStrategy() articles = strat.getArticleStream('barlas') articles.take(2).toArray( (result)→ _.each(result, (articleList) → // I make the assertions here // assert(false) assert(articleList.length > 1) ) done() ) 问题是,每当我assert(false) ,testing挂起,直到超时,而不是给一个断言错误,为什么? 编辑: 例如,如果我有这两个testing it […]

在高地的循环数据stream

在受到NoFlo.js的启发之后,我刚刚学习了highland.js。 我希望能够recursion地操作stream。 在这个人为的例子中,我将提供一个乘以2的数字,我们过滤结果<= 512。一旦数字相乘,它会被反馈到系统中。 代码我有工作,但如果我拿出pipe道中的多托function,它不处理任何数字。 我怀疑我是不正确地将数据发回到returnPipe。 有没有更好的方式将数据传回系统? 我错过了什么? ### input>–m—>multiplyBy2>—+ | | | | +—<returnPipe<—-+ ### H = require('highland') input = H([1]) returnPipe = H.pipeline( H.doto((v)->console.log(v)) ) H.merge([input,returnPipe]) .map((v)-> return v * 2) .filter((v)-> return v <= 512) .pipe(returnPipe)