Tag: stream

Google上的对话stream/操作:提供关于链接输出build议的dynamic响应数据

我试图实现一个Dialogflow应用程序(在谷歌上的行动),它迄今为止工作得很好。 然而:有没有人知道是否有可能通过node.js定义更多的动作参数/上下文,所以我可以用它们以某种方式在Dialogflow中创builddynamic的“链接输出build议”? 详细内容:我尝试从用户请求一些参数,将它们映射到一组url(=作为某种数据库实现),然后将结果url写入json响应中。 目标:在Dialogflow的“响应> Google智能助理>inputurl”中包含这些响应url作为$ url,#deeplink.url(或类似)。 这有可能以任何方式? 先谢谢你。 更新:我也testing了构build一个丰富的响应的方法,但它似乎并没有工作。 例: const richResponse = app .buildRichResponse() .addSimpleResponse('Flight from ' + origin + ' to' + destination) .addSuggestions("Find your flight:") .addSuggestions("Basic Card", "List", "Carousel") .addSuggestionLink("Search now", url); (app是require的一个实例('google-on-action')。DialogflowApp) 但是,他似乎停止了“addSimpleResponse”之后。

Node.js – 确保一个非阻塞呼叫结束

我正在使用pg postgres节点模块与我的数据库进行交互。 当我使用pg的API时,代码没有问题。 以下是代码示例: Migration.js exports.up = function(logger){ var pg = require("pg") , connectionString = //process.env.CONNECTIONSTRING , client = new pg.Client(connectionString); client.connect(); var cmd = "CREATE TABLE users( " + "id SERIAL NOT NULL, " + "firstName VARCHAR(50) NOT NULL, " + "lastName VARCHAR(50) NOT NULL, " + "CONSTRAINT pk_userid PRIMARY KEY (id) " + […]

在快速stream读取stream中平衡缓慢的I / O

在node.js中我有一个读取stream,我希望重新格式化并写入数据库。 由于读取stream速度快且写入速度慢,因此随着写入队列的build立(假定stream为gb的数据),node.js队列可能会不堪重负。 如何强制读取等待代码的写入部分,所以这不会发生阻塞? var request = http.get({ host: 'api.geonames.org', port: 80, path: '/children?' + qs.stringify({ geonameId: geonameId, username: "demo" }) }).on('response', function(response) { response.setEncoding('utf8'); var xml = new XmlStream(response, 'utf8'); xml.on('endElement: geoname ', function(input) { console.log('geoname'); var output = new Object(); output.Name = input.name; output.lat = input.lat; output.lng = input.lng; output._key = input.geonameId; data.db.document.create(output, data.doc, […]

有一些方法可以使用Node JSstream式传输照片吗?

我正在创build一个networking聊天,我想给用户select从它的文件系统中select一个图像,并通过stream式分享给聊天室的其他成员。 有一些方法可以做到这一点? 谢谢!

在节点stream中找不到mp3帧头同步位

我几乎是在这一个绳索的末尾。 我试图parsing出的MP3帧数据,但我有一个时间定位任何帧的熊。 我正在使用节点0.10,并尝试使用新的streamapi(虽然它不适用于旧的) 我正在循环寻找11位同步字的缓冲区,但我从来没有find它。 var stream = fs.createReadStream('./myAudioFile.mp3') stream.on('readable', function(data){ var chunk, header; while (null !== (chunk = stream.read())) { for (var i = 0; ( i + 4 ) <= chunk.length; i++) { header = chunk.readUInt32LE(i) if( (header & 0xFFE00000) === 0xFFE00000 ) { //NEVER GET HERE!!! } } } 我在这里错过了什么?

节点stream:远程stream正在返回JSON,但('data')显示缓冲区

我刚刚开始使用节点stream 。 我的图书馆的演示代码使用: stream.pipe(process.stdout, {end: true}); 哪些工作正常,将JSON块打印到标准输出。 我想用: stream.on('data', function(chunk) { console.log(chunk) } 但是我得到一个二进制缓冲区: chunk! <Buffer 7b 22 73 74 72 65 61 6d 22 3a 22 20 2d 2d 2d 5c 75 30 30 33 65 20 35 35 32 38 38 36 39 62 30 30 33 37 5c 6e 22 7d> 有没有一种方法,我可以使用('数据'),看到JSON?

使用Node.js将数据块分块成数据块

我正在尝试将文件分块成数据块。 我发现这个链接很好地完成了这项工作,但是当我按照以下方式使用上述库时: var in = fs.createReadStream(__dirname+'/try.html'), chunker = new SizeChunker({ chunkSize: 2048 }), output; chunker.on('chunkStart', function(id, done) { output = fs.createWriteStream('./output-' + id); console.log("Chunkstart!"); console.log("Input: "+in.length); done(); }); chunker.on('chunkEnd', function(id, done) { output.end(); console.log("Chunkend!"); done(); }); chunker.on('data', function(dat) { console.log("Writing chunk to output!") output.write(dat.chunk); console.log(dat.chunk); }); input.pipe(chunker); 但是我得到这个错误: _stream_writable.js:201 var len = state.objectMode ? 1 […]

将HTTP响应stream传递到另一个可读stream

如何使用另一个可读stream的数据填充可读stream? 我的用例有点奇怪,我有一个函数,使用fs.createReadStream从磁盘读取文件,并返回该stream。 现在我想创build一个函数的变种,而不是通过HTTP加载文件,但仍然返回一个读取stream,使客户端可以平等对待这两个函数。 我试图做的最简单的版本是这样的, var makeStream = function(url) { var stream = require('stream'); var rs = new stream.Readable(); var request = http.get(url, function(result) { // What goes here? }); return rs; }; 我基本上想要的是一种方式来返回HTTP结果stream,但因为它隐藏在callback中我不能。 我觉得我错过了一些非常明显的东西,是什么?

在Node.js中构造两个Transformstream

我有一个无操作转换streamtesting,输出通过它传递的所有文件的列表。 为什么下面的代码只输出一次文件列表? 我如何正确组合两个stream? var composed = test().pipe(test()); gulp.src('source/*').pipe(composed);

节点js:pipe道数据到多个stream

我正在使用节点gm中间件,它有resize和pipe道resize的图像的方法。 当我调整图像大小时,我需要将其caching并将图像传回给用户。 我可以同时做这两个吗? 要清楚我想要做的是gm(file).resize(…).pipe -> writeStream.pipe -> response 。 这可能吗?