`
- 浏览:
209051 次
- 性别:
- 来自:
大连
-
windows环境下使用nodejs开发了一个简单的网络蜘蛛,抓取网页中的图片。所以使用了http.get异步方法来下载指定的图片文件。多个图片的时候,http请求是串行发出的,下载完一个文件并生成本地文件以后再发起下一个http请求,等到最后一个图片下载完并生成本地文件以后,所有处理都结束了,按理说整个程序应该退出,但是有时候程序会停在那里,只有手动用CTL + C才能退出。试了很多种设计思路,但是问题仍然无法解决,最后强制调用了process.exit(0)才解决。
不过这个问题不是一直出现,有的网站url一直出现,有的url一切正常,不知道是什么原因。
function getpic(){
var f=fs.createWriteStream('./pic/' + j + ".jpg");
var req = http.get(srcs[j-1],function(res)
{
res.on('data', function (chunk)
{
f.write(chunk);
});
res.on('end',function()
{
f.end();
console.log(j+'.jpg OK!');
if(j < srcs.length){
++j;
getpic();
}else{
console.log('...download end...');
process.exit(0);
}
return;
});
res.on('error',function(e){
console.log(e.message);
});
});
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
今天小编就为大家分享一篇关于Nodejs让异步变成同步的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
NULL 博文链接:https://zhouxiaofeihaha.iteye.com/blog/1672380
nodejs异步_原理和缺陷 在Linux下,node.js靠libev和libeio配合使用来实现异步I/O
使用jquery fileupload和nodejs formidable实现文件异步上传,可显示上传进度
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具。 本资源代码配合博客使用:https://blog.csdn.net/qq_25479327/article/details/81148772 NodeJs使用mongoose操作mongodb
公司内部的nodejs培训资料,这是第八个进程管理。其他后续会陆续上传
NodeJS的异步编程风格,是一个Node.js的入门书籍,相信读过之后,你对node.j将会有一个比较清晰的认识和理解!
主要介绍了Nodejs异步回调的优雅处理方法,本文使用了ES6中的新特性,用一种十分优雅的方式解决了回调问题,需要的朋友可以参考下
本篇文章主要介绍了解析NodeJS异步I/O的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Nodejs异步回调之异常处理,结合实例形式分析了nodejs基于中间件进行异步回调异常处理过程出现的问题与相应的解决方法,需要的朋友可以参考下
主要介绍了Nodejs异步流程框架async的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
nodejs基础之多进程实例详解.docx
现在我们来看看nodejs中的事件驱动和异步I/O是如何实现的. nodejs是单线程(single thread)运行的,通过一个事件循环(event-loop)来循环取出消息队列(event-queue)中的消息进行处理,处理过程基本上就是去调用该消息...
nodejs中jquryfileupload异步上传的demo
主要介绍了NodeJs并发异步的回调处理的相关资料,需要的朋友可以参考下
父子进程使用管道通信,对于spawn方式创建的子进程,没有默认管道,所以需要使用此中方式,另外,通过nodejs创建出来的其他进程,比如java,c,都可以使用输入输出流来实现更复杂更安全的通信