node.js - 如何将 http 模块与 bluebird 协程一起使用?

标签 node.js bluebird es6-promise

如何在 bluebird 中使用 http。 以下代码不返回任何内容:

var Promise = require('bluebird');
var co = Promise.coroutine;
http = Promise.promisifyAll(require('http'));

co(function*(){
    var resp = yield http.get("http://i3.ytimg.com/vi/J---aiyznGQ/mqdefault.jpg").endAsync();
    console.log(JSON.stringify(resp.body));
})();

最佳答案

最好使用请求 promise

var Promise = require('bluebird');
var co = Promise.coroutine;
var rp = require('request-promise');

co(function*(){

   var resp = yield rp({uri: 'http://google.com'});

   console.log(JSON.stringify(resp));

})();

关于node.js - 如何将 http 模块与 bluebird 协程一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35397549/

相关文章:

javascript - Nodemailer - cb 不是一个函数吗?

javascript - 如何用下划线对一系列 promise 进行分组?

javascript - 使用 Canvas 在 promise 内裁剪图像不起作用

javascript - 如何返回从 .then 语句中获取 api 数据收到的数组?

javascript - promise 不只是回调吗?

javascript - 为什么javascript ES6 Promises在解决后继续执行?

javascript - 如何从nodejs检查Redis缓存连接状态

javascript - 每次升级 Nodejs 后都需要重新安装 npm 吗?

javascript - NodeJS + Passport,检索访问 token (Spotify API)

javascript - 如何将现有的回调 API 转换为 promise ?