Tag: stream

如何从writeStream获取文件的名称?

这是我想要做的: stream = fs.WriteStream('crap.txt',{flags:'w'}; // more code response.on('close',function() { // is the below line possible? fs.stat(stream.name, function(stats) { console.log(stats.size); }); stream.end(); }); 那么我可以从stream对象中获取文件名吗? 一个说明的例子将是很好的,参考良好的教程/文档(包含例子)在可写入的stream。

如何处理(cli)stdoutstream中的字符编码输出到node.js中?

我很困惑如何安全地存储和读取Node.js中的process.stdout输出: console.log() (以及类似的)的CLI输出是否以特定的字符编码完成? 或者是未指定forms的原始二进制文件? 可以有二进制数据吗? (我不知道) Node.js是非常面向utf8,但是然后JS是UCS2,我不知道stream与它做什么。 和相关:如果我将缓冲区转换为string在UTF8(默认)是适用于string比较安全的? 注意我的diff渲染器将使用jsenc来显示,所以它显示非printables。 用例是我想能够安全地断言/比较CLI快照来validation我为各种工具构build的自定义logging(注意,这包括发现非预期的垃圾/皮棉输出,所以我想要挖掘真正的最终输出stdiostream)。 (任何相关的build议是值得欢迎的)

我如何从高地溪stream读取?

所以我有一个高地stream: var getData = highland.wrapCallback(fs.readFile); var fileStream = getData('myfile') console.log(fileStream) 我如何从fileStream读取? 根据高地文档 ,在stream上没有read()方法。

为什么request.on()不能在Node.js中工作

我正在尝试使用节点请求模块从第三方服务获取一些数据,并将该数据作为string从函数中返回。 我的看法是, request()返回一个可读的stream,因为你可以做request(…).pipe(writeableStream) – 我认为 – 暗示我可以做 function getData(){ var string; request('someurl') .on('data', function(data){ string += data; }) .on('end', function(){ return string; }); } 但是这并不是真的有用。 我想我对request()或节点stream如何真正起作用有一些错误的认识。 有人可以澄清我的困惑吗?

实时数据绑定的JavaScript

我已经有了这个要求,我不是很成功地突破客户端技术。 希望有人可能已经解决了这样的难题,我不想再打破我的头,耽误了我的时间。 我的要求是: 我有一台服务器,它有一个数据处理引擎,平均每30秒就会提供一个数据库。 我需要一个客户端Web应用程序,我想根据我的服务器引擎生成的数据绘制一些图。 我可以find适合我的图表需求(Flotr2) 我已经为我的后端数据stream设置了一个Node.js服务器和socket.io comm。 我可以简单地使用普通的js和调用函数来绘制graphics来监听套接字。 但是,我的应用程序必须是高度可configuration的。 我想从数据库的多个列数据绘制单个graphics,以满足我的要求(这意味着,在单个元素的多个值)。 如果我使用普通的JavaScript来实现我的客户端,那么在某些时候,我的代码将变得无法维护,而且我可能正在重新创build现有的轮子。 所以,我正在寻找客户端库进行数据绑定(一个值到一个元素,多个值到单个元素,多个值到多个元素) 我基本上是一个后端和移动的家伙,但不是JS的家伙。 我浏览网页,并得到一些随机的build议,使用Knockout.Js,Angular.js,Backbone.js,Meteor.js,我不能依靠一个。 编辑: 我已经尝试了Knockout.js来进行客户端数据绑定。 我坚持我的第二个和第三个用例( 许多值单个元素和许多元素值 )。 假设从服务器得到{“a”:55,“b”:5,“c”:46}作为数据。 我有两个id为“x”,“y”的HTML元素。 我想将值a,b绑定到元素“x”,将值b,c绑定到元素“y”。 可能吗? 任何简单的小提琴将是很大的帮助。 那么,有人可以指出我的正确方向,在这里分享你的想法。

使用stream式JSON连接两个Node / Express应用程序

我目前有两个应用程序运行… 一个是我的REST API层,为前端提供了许多服务。 另一个是“翻译应用程序”,它可以通过一个JSON对象(通过http POST调用),对该对象执行一些数据转换和映射,并将其返回给REST层 我的情况是我想为大量的对象做这个。 我想要的stream程是: 用户以特定格式请求100,000个对象 – > REST层从数据库中检索 – >将每个JSON数据对象传递给翻译服务以执行格式化 – >将每个对象传回REST层 – > REST层将新对象返回给用户。 我不想要的是在100,000个不同的调用上调用tranlate.example.com/translate,或者通过1个巨大的POST请求传递兆字节的数据。 所以很明显的答案是将数据stream式传输到翻译应用程序,然后将数据stream式传回。 似乎有很多解决scheme可以跨应用程序stream式传输数据:打开一个websocket(socket.io),在两者之间打开一个原始的TCP连接,或者由于Node的HTTP请求和响应数据实际上是一个可以利用的数据stream然后发送一个JSON对象,当它成功的翻译 我的问题是在这里有两个应用程序之间stream数据的最佳做法吗? 看来我应该使用http(req,res)stream,并保持一个长期的连接打开,以保留“REST”模型。 任何可以提供的样本都会很好。

在Highland.js中嵌套stream操作

我有一个readdirp模块的目录stream。 我要:- 在每个目录中使用正则expression式(例如README.* )search文件 读取该文件的第一行不以#开始 打印出目录中的每个目录以及自述文件的第一个非标题行。 我正在尝试使用stream和highland.js来做到这一点。 我被困在试图处理每个目录内的所有文件的stream。 h = require 'highland' dirStream = readdirp root: root, depth: 0, entryType: 'directories' dirStream = h(dirStream) .filter (entry) -> entry.stat.isDirectory() .map (entry) -> # Search all files in the directory for README. fileStream = readdirp root: entry.fullPath, depth: 0, entryType: 'files', fileFilter: '!.DS_Store' fileStream = h(fileStream).filter (entry) […]

MongoClient节点游标stream和数据pipe道

我刚刚开始了解节点stream,我正在使用MongoClient( MongoClient光标文档 )。 在这个文档中,它声明我可以得到一个返回的查询作为一个文档stream。 像这样: var MongoClient = require('mongodb').MongoClient , assert = require('assert'); // Connection URL var url = 'mongodb://localhost:27017/myproject'; // Use connect method to connect to the Server MongoClient.connect(url, function(err, db) { assert.equal(null, err); console.log("Connected correctly to server"); var col = db.collection('streams'); // Insert a single document col.insert([{a:1}, {a:1}, {a:1}], function(err, r) { assert.equal(null, […]

我怎样才能节制堆栈的API请求?

我有一个id数组,我想为每个id做一个api请求,但是我想控制每秒有多less个请求,或者更好的是,在任何时候只有5个打开的连接,并且当一个连接是完成,取下一个。 目前我有这个,它只是在同一时间发射所有的请求: _.each([1,2,3,4,5,6,7,8,9,10], function(issueId) { github.fetchIssue(repo.namespace, repo.id, issueId, filters) .then(function(response) { console.log('Writing: ' + issueId); writeIssueToDisk(fetchIssueCallback(response)); }); });

从Vagrant获取主机IP,并将其与Ansible一起使用

我和stream浪汉一起玩游戏,设置了一些小水滴,并且使用了可靠的(我正在使用DigitalOcean )部署我的nodejs服务器。 我有我的js代码中的一些部分,我需要将当前的IP设置到脚本中。 问题是,我不能手动设置IP,所以我通过DO无业游民获得了一个随机IP。 我怎样才能“获得”这个IP,并在我的Ansible脚本中使用它? 当然,我只是可以做一个wget http://ipinfo.io/ip -qO -在主机本身或与ip检查,但我想它也应该从Vagrant获得这个信息?