Node:Q与node http模块搭配
来源:互联网 发布:电脑能写小说的软件 编辑:程序博客网 时间:2024/06/08 13:24
最近在做爬虫的时候,在使用http模块发送请求时,希望拿到请求响应的数据后,再对数据进行解析。当然可以用回调函数解决,阅读性差了点,写起来也比较臃肿。
可以尝试用q。
//导入相关模块var http = require('http'), Q = require('q');//请求参数var options = { hostname: 'yourHost.com', path: '/test', method: 'GET'}; function promisedRequest( options ) { //实例化一个延迟对象 var deferred = Q.defer(); var req = http.request( options, function(response) { response.setEncoding('utf8'); var responseData = ''; response.on('data', function(data) { responseData += data; }); response.on('end', function() { //这里表示成功执行时,调用resolve方法 deferred.resolve(responseData); }); }); //listen to the 'error' event req.on('error', function(err) { //失败时,调用reject方法 deferred.reject(err); }); req.end(); //返回promise对象 return deferred.promise;};promisedRequest( options ).then(function(response) { //执行resolve方法时,参数是上个函数执行得到的结果 console.log(JSON.stringify(response));}, function(error) { //失败执行reject方法 console.log(error);});
这里就避免了过多的回调,并且同样能合理的管理异步事件。
0 0
- Node:Q与node http模块搭配
- Node.js HTTP模块与事件模块
- Node.js12 Http模块
- Node.js HTTP模块
- Node Http模块
- 【Node核心模块HTTP】
- Node.js 的 http 模块
- Node.js中的HTTP模块
- node http模块学习笔记
- node.js的http模块
- Node.js基本模块http
- node中http模块基础知识
- Node.js搭配Mongodb
- 【Node】node的模块
- node模块
- Node中http模块详解(客户端篇)
- node.js fs,http 模块用法
- Node.js http模块 设置响应头
- 使用 robolectric 做单元测试
- iOS开发Runtime那些事
- Linux下的sock_stream和sock_dgram
- HDU 4995Revenge of kNN(暴力)
- 罗马数字转换为十进制数字
- Node:Q与node http模块搭配
- Servlet知识点<二>
- 判断一个数是否是2^N次方
- MATLAB 解不等式组
- 读《点石成金》
- 线程池
- 计算机程序工作原理———简单c程序实例剖析
- SEO基础_排名因素
- 【H5】localStorage、sessionStorage用法总结