Tag: stream

节点callback; 其他块vs返回

我经常看到node.js程序员在调用需要callback的函数时,可以这样做: callSomeThing(arg1, arg2, function (err, data) { if(err) { // Handle the error case } else { // Proceed normally } }); 有没有技术上的原因,为什么他们使用一个else块,而不是在错误情况下返回还是只是一个代码风格的事情? callSomeThing(arg1, arg2, function (err, data) { if(err) { // Handle the error case return; } // proceed normally });

fs不写入所有收到的数据文件

我的node.js脚本: var net = require('net'); var fs = require('fs'); var client = new net.Socket() client.connect(PORT, HOST, function () { client.write('You can Send file\0'); client.on('data', function (data) { // console.log(data); var destinationFile = fs.createWriteStream("destination.txt"); destinationFile.write(data); }); }); 它被编码为从远程HOST接收文件。 当我使用console.log(data)它确定以远程数据文件logging到控制台。 而是写入数据以将其写入接收到的数据文件的一部分。 如何将所有数据写入文件? 谢谢

节点读取stream:stream何时发生?

这是一个代码示例,它与您可以从networking或文档中获得的代码没有多大区别: var fs = require('fs'); var r = fs.createReadStream(process.argv[2], { encoding: 'utf8' }); r.on('data', function (chunk) { console.log("chunk: >>>" + chunk + "<<<"); }); r.on('end', function () { console.log("This is the end"); }); 什么使我困惑:什么时候触发事件的stream发生? 显然不是直接在读取stream的构造上,因为那么在我们到达之前就完成了,并且事件监听代码将永远不会被执行(这是完美的)。 什么让我担心:如果来电太迟,是否有理由有机会错过一个事件?

Vagrant上的nodejs – 无法从外部加载页面

尝试加载浏览器中的http:// localhost:3000不能从我的Windows机器,但是当我这样做 curl -v http://localhost:3000 在我的stream浪VM – 页面加载罚款。 我正在考虑端口转发问题,所以我设置了 config.vm.network :forwarded_port, guest: 3000, host: 3000 在vagrant的configuration文件中,但它没有帮助。 我试图捕捉到我的虚拟机端口3000的电话,就像这样 sudo tcpdump -i eth0 'port 3000' 这表明stream浪VM可以听到我的呼叫,但是nodemon不知道。 我卡在这里,任何build议表示赞赏。 谢谢!

如何模拟多个用户

我在前端创build了一个带有Angular的应用程序,而在后面创build了一个NodeJS。 当一些人同时使用该应用程序时,该应用程序显得很有趣。 我想做一些改变,然后和一群人一起testing,但是我不能让我的朋友们这么做。 是否有一个很好的自动化的方式来testing它与一大堆用户的行为?

如何依次运行多个节点stream?

给定两个stream, stream1 , stream2 ,我怎么能顺序运行它们,如果有失败,抛出? 我正在寻找比这更简单的东西: stream1.on('end',function(){ stream2.on('end',done); }); stream1.on('error',function(error){done(error);}); stream2.on('error',function(error){done(error);}); 谢谢。

在`fetch()`上使用stream的优点是什么?

我试图使用OneDrive JS SDK下载文件,所以我使用了微软的代码: // Download a file from OneDrive let fs = require('fs'); // requires filesystem module client .api('/me/drive/root/children/Book.xlsx/content') .getStream((err, downloadStream) => { if (err) { console.log(err); return; } let writeStream = fs.createWriteStream('../Book1.xlsx'); downloadStream.pipe(writeStream).on('error', console.log); }); 因为我想让它在浏览器中工作(不仅仅是在Node中),所以我首先尝试了一些浏览器的stream库,但是没有任何工作。 最终,我只使用REST API和fetch() (SDK是REST API的封装)。 一个简单的fetch(url)做了这个工作。 所以我想知道,为什么MS要经过上面的所有stream代码的麻烦,当一条线可以做这个工作? 尤其是stream的performance好于fetch() 。 例如,当下载大文件的时候会获取冻结的应用程序,而stream不会? 还有其他的区别吗?

如何searchnode.js中的stringstream?

如何在一个stream中searchstring,然后打印它? 通过这个我的意思是使用createReadStream 。 我想出了如何使用indexOf在readFile查找string,但是我正在阅读使用stream更有效。 更具体地说,我一直在试图在stream中find一个string,然后打印出包含该string的整行。 但是,以下不断给我错误 fs.createReadStream(process.argv[2], function (err, data) { data.indexOf … 目前,我的程序打印出整个stream,而不仅仅是包含string的行。 var http = require('http'); var fs = require('fs'); var server = http.createServer( function(req, res) { console.log("Request received."); res.writeHead(200, {"Content-Type": "text/plain"}); res.write("Hello World\n\n\n"); var s = fs.createReadStream(process.argv[2]).pipe(res); s.on('end', function(){ res.end() }) }); server.listen(8000);

Nodejsstream(错误:发送后无法设置标题)

我正在尝试从braintree服务器上构build一个API。 参考这个文档https://developers.braintreepayments.com/javascript+node/reference/general/result-handling/search-results 要从服务器访问所有事务,我必须返回一个节点stream。 前 app.get('/project', function(req, res) { if(req.user) { var stream = gateway.transaction.search(function (search) { search.customerId().is(req.user.id); }); stream.on("ready", function () { console.log(stream.searchResponse); }); stream.on("data", function (data) { res.json(data) // can't set headers after they are sent. }); } }); 我知道一个stream以块的forms返回数据,所以上面的res.json()很可能被多次调用导致Error: Can't set headers after they are sent 。 所以我的问题是我怎么能发送数据到客户端在一个块? nodejsstream是混淆我,我会读更多的关于它,但了解如何将数据发送到客户端而不重新发送标头将是很好的。

实时网站访客跟踪系统

我想开发一个允许我跟踪网站访问者的应用程序。 现在我正在探索node.js作为替代scheme。 这个系统将有3个部分: 服务器端脚本,可能是一个node.js服务器。 空气应用将是客户。 它将连接到node.js服务器并在线显示用户。 Javascript代码,将在网站的每个页面上的跟踪代码。 有人尝试过这样的事情吗? 任何想法,意见,build议将不胜感激。