Tag: streams2

节点请求抛出:错误:无效的URI“www.urlworksinbrowser.com”或options.uri是必需的参数

我在Ubuntu 12.04上使用Node v0.10.11。 我不知道我错过了什么使一个urlstream的请求模块工作。 这个程序正在尝试去邮件列表网站,find每个月的下载链接,然后每个月下载一次。 mikeal的自述文件中提到:“第一个参数可以是一个url或一个选项对象,唯一需要的选项是uri,其他所有的都是可选的uri || url – 来自url.parse()的完全限定的uri或parsing的url对象。 如果我打电话给url.parse(www.targeturl.com),我得到[错误:options.uri是必需的参数]如果我不使用url.parse,我得到[错误:无效的URI“www.freelists.org / archive / si-list / 06-2013“](这个链接在我的浏览器中工作得很好) 我把代码缩减到了42行。 任何意见欢迎 var request = require('request'), url = require('url'), stream = require('stream'), cheerio = require('cheerio'), // a reduced jQuery style DOM library Transform = require('stream').Transform var DomStripStream = function(target) { this.target = target; stream.Transform.call(this,{objectMode: true}); } DomStripStream.prototype = […]

如何使用Streams2 ObjectMode?

在Node v10.11中,我试图把对象放在一个pipe道上,但是我总是得到错误。 events.js:72 throw er; // Unhandled 'error' event ^ TypeError: Invalid non-string/buffer chunk at validChunk (_stream_writable.js:150:14) at WriteStream.Writable.write (_stream_writable.js:179:12) 我能做到 this.push(chunk) 直接通过pipe道传输数据,但我做不到 var result = {'the web content is': chunk} this.push(result) 30 LOC中的可运行示例: var stream = require('stream'); var MsgExtractStream = function() { stream.Transform.call(this,{objectMode: true}); } MsgExtractStream.prototype = Object.create( stream.Transform.prototype, {constructor: {value: MsgExtractStream}} ) MsgExtractStream.prototype._transform […]