BufferedStream是节点程序中对数据进行缓冲到事件回路下一勾的流的可靠基础类.
理由
溪流的细节仍然在节点核心中制定. 至此,节点中有几种不同类型的溪流,包括一些实际上不从溪流继承的对象. 这个库的目标是消除各种流状对象之间的差异并给用户代码一个可靠,有文件记载的API,他们现在可以使用. 如果在节点核心(我们都希望这样)中情况有改善,这个代码可能会被淘汰.
安装
使用 无数字 :
$ npm install bufferedstream
使用量
此类的关键特征是,您在事件循环的当前勾选中写给流中的任何内容都会被缓冲到下一个勾选. 这使得您可以可靠地注册事件处理器,暂停流等而不丢失任何数据.
var BufferedStream = require('bufferedstream');
var stream = new BufferedStream;
stream.write('Hello ');
stream.pause();
setTimeout(function () {
stream.write('IHdvcmxkLg==', 'base64');
stream.resume();
stream.on('data', function (chunk) {
console.log(chunk.toString()); // Hello world.
});
}, 10);
这个 BufferedStream 构造器也可能接受一个"源",这可能是另一个会被直接管道通到此流或字符串的流. 这对于将各种类似流的物体包裹起来,使其在整个执行过程中的行为正常化很有用.
更多信息请参见源代码. 模块足够小(且有详细记载),在快速滑行中应容易消化.
测试
使用 摩卡岛数字 :
$ mocha test
许可证
版权2012 Michael Jackson
特此准许任何人免费获得本软件和相关文件文件("软件")的副本,不受限制地在软件中进行交易,包括不受限制地享有软件的使用、复制、修改、合并、出版、分发、分版和(或)销售的权利,并允许软件获得者这样做,但须符合下列条件: 1
上述版权通知和许可通知应载入软件的所有副本或大部分.
软件是"照旧"提供的,没有任何种类的保修,明示或暗示,包括但不限于可买卖性,适合特定目的和不侵权的保修. 在任何情况下,作者或版权持有人都不得对由于软件、软件的使用或其他交易而产生或与之有关的任何索赔、损害或其他赔偿责任承担责任,无论是在合同、侵权或其他诉讼中.
