javascript – Node.js写完后出错zlib

前端之家收集整理的这篇文章主要介绍了javascript – Node.js写完后出错zlib前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_0@
我有以下代码,我正在管理gzip压缩的URL的请求.这工作很好,但是如果我尝试执行代码几次,我得到以下错误.任何建议如何解决这个问题?

谢谢!

http.get(url,function(req) {

   req.pipe(gunzip);

   gunzip.on('data',function (data) {
     decoder.decode(data);
   });

   gunzip.on('end',function() {
     decoder.result();
   });

});

错误

stack: 
   [ 'Error: write after end','    at writeAfterEnd (_stream_writable.js:125:12)','    at Gunzip.Writable.write (_stream_writable.js:170:5)','    at write (_stream_readable.js:547:24)','    at flow (_stream_readable.js:556:7)','    at _stream_readable.js:524:7','    at process._tickCallback (node.js:415:13)' ] }

解决方法

一旦可写流被关闭,它就不能接受任何数据( see the documentation):这就是为什么在第一次执行你的代码将工作,而在第二个你将有写入结束错误.

只需为每个请求创建一个新的gunzip流:

http.get(url,function(req) {
   var gunzip = zlib.createGzip();
   req.pipe(gunzip);

   gunzip.on('data',function() {
     decoder.result();
   });

});
原文链接:https://www.f2er.com/js/154567.html

猜你在找的JavaScript相关文章