• 简化连接Buffer对象的过程


     

    上述一大段代码仅只完成了一件事情,就是连接多个Buffer对象,而这种场景需求将会在多个地方发生,所以,采用一种更优雅的方式来完成该过程是必要的。笔者基于以上的代码封装出一个bufferhelper模块,用于更简洁地处理Buffer对象。可以通过NPM进行安装:

    npm install bufferhelper 

    下面的例子演示了如何调用这个模块。与传统data += trunk之间只是bufferHelper.concat(chunk)的差别,既避免了错误的出现,又使得代码可以得到简化而有效地编写。

    var http = require('http');  
    var BufferHelper = require('bufferhelper');
    http.createServer(function (request, response) {
        var bufferHelper = new BufferHelper();
        request.on("data", function (chunk) {
        bufferHelper.concat(chunk);
        });
        request.on('end', function () {
        var html = bufferHelper.toBuffer().toString();
        response.writeHead(200);
        response.end(html);
        });
    
    }).listen(8001); 
    

    所以关于Buffer对象的操作的最佳实践是:

    • 保持编码不变,以利于后续编码转换
    • 使用封装方法达到简洁代码的目的
  • 相关阅读:
    JavaScript高度和宽度详解
    VC6程序图标
    VC++中的Dlg,App,Doc,view
    Vista桌面图标无法拖动
    VC2008中IE8脚本错误问题解决
    单文件安装包制作(转)
    AutoResetEvent与ManualResetEvent区别
    纯JavaScript中调用WebServices
    动态加载程序集Assembly.Load
    VC++小知识积累
  • 原文地址:https://www.cnblogs.com/neights/p/3801582.html
Copyright © 2020-2023  润新知