我有以下代码,我正在管理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();
   });

});

javascript – Node.js写完后出错zlib的更多相关文章

  1. Node.js 使用 zlib 内置模块进行 gzip 压缩

    这篇文章主要介绍了Node.js 使用 zlib 内置模块进行 gzip 压缩,nodejs为我们提供了一个zlib内置模块,我们可以使用它其中的gzip方法来对传递的数据进行压缩,从而提高数据传递效率,更多相关内容需要的朋友可以参考一下

  2. PHP使用zlib扩展实现GZIP压缩输出的方法详解

    这篇文章主要介绍了PHP使用zlib扩展实现GZIP压缩输出的方法,结合实例形式详细分析了php gzip配置及压缩输出的相关操作技巧,需要的朋友可以参考下

  3. python压缩和解压缩模块之zlib的用法

    这篇文章主要介绍了python压缩和解压缩模块之zlib的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  4. 在Windows上使用zlib和Unicode文件路径

    我正在使用zlib阅读gzip压缩文件.然后使用打开文件如何处理在Windows上存储为constwchar_t*的Unicode文件路径?在类UNIX平台上,您只需将文件路径转换为UTF-8并调用gzopen(),但这不适用于Windows.下一版本的zlib将包含此函数,其中_WIN32是#defined:gzFilegzopen_w;它的工作方式与gzopen()完全相同,只是它使用_wopen()而不是open().我故意没有复制_wfopen()的第二个参数,因此我没有将其称为_wgzopen(

  5. ubuntu16.04 安装 python3.6

    安装python3.6需要依赖zlib包,所有安装如下:到此,安装结束,输入:python3可以看到python版本,如果不是自己安装的版本就重启:shutdown-rNow重启后看到的不是自己安装python那就做软链接:ln-s/usr/local/python3/bin/python3.6/usr/local/bin/python3输入:python3,ubuntu默认是去/usr/loca

  6. CentOS 6.9编译方式搭建LTMP环境,并部署phpMyAdmin数据库管理工具

    二、准备工作:1、下载上述程序包2、服务器时间校对3、配置epel源4、安装开发环境程序包组:#yum-ygroupinstall"DevelopmentTools""ServerPlatformDevelopment"三、安装配置Tengine:1、安装依赖程序包:#yum-yinstalllibxml2-devellibxslt-develgd-develGeoIP-develgoogle-perftools-devellibatomic_ops-develcmake2、解压pcre:#tar-xfp

  7. centos7.3升级openssh到7.7p1后root用户无法登陆的问题

    主机系统centos7.3.1161升级openssh到当前最新版7.7p1以后使用root用户无法登陆,一直提示用户名密码错误。step5、安装包准备1、软件包下载地址:zlib下载地址:http://www.zlib.net/zlib-1.2.11.tar.gzhttps://www.openssl.org/source/openssl-1.0.2o.tar.gzhttps://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar

  8. 全新centos系统下源码安装php+nginx

    安装Nginx首先我们得去nginx官网下载源码包以及查看文档。--conf-path=path设置在Nginx.conf配置文件的路径。--pid-path=path设置Nginx.pid文件,将存储的主进程的进程号。默认情况下,文件名为prefix/logs/Nginx.pid。安装完成后,可以随时更改的名称在Nginx.conf配置文件中使用的user指令。--group=name设置Nginx工作进程的用户组。正则表达式使用在location指令和ngx_http_rewrite_module模块

  9. centos6 安装nginx

    1.安装pcre安装包拷贝到/usr/local/lantu/下tar-zxvfpcre-8.38.tar.gz进入目录,./configure--prefix=/usr/local/lantu/pcre/make&makeinstall2.安装zlib同安装pcre3.安装Nginx加压后执行./configure--prefix=/usr/local/lantu/Nginx--with-pcr

  10. ubuntu-14.04 – usr / local /中没有zlib.h文件包含如何获取它

    所以我一直在尝试运行一个C程序,它需要Zlib库来编译文件,它给出了一个错误,说“zlib.h没有这样的文件或目录存在”,在查看usr/local/include时我发现文件不存在我可以将文件复制到该位置,还是应该安装一些东西.我是ubuntu的新手所以请帮助使用开发支持安装zlib如果您不想或不需要使用完整的zlib,则编写将zlib函数1:1映射到不支持压缩和解压缩的普通文件函数的包装程序非常容易.

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部