javascript - Promised 请求在解析时不会返回正确的结果

标签 javascript node.js request promise

我正在尝试将 request 与 Bluebird 的 Promises 结合使用:

const request = Promise.promisify(require('request'));
Promise.promisifyAll(request);

不幸的是,我得到的结果并没有反射(reflect)我根据示例所期望的结果:

request('http://google.com').then(function(content) {
  // content !== String
  // Object.keys(content) => ['0', '1']
};
  • 内容不是字符串
  • 我必须分别通过 content['0'] 访问内容 content['1'] ,这里是我实际预期的响应,即 HTML 字符串。

这对我来说似乎很可疑,就像我在这里滥用了 Promise API 一样。我做错了什么?

最佳答案

使用 .spread(function(response, content){}) 而不是 .then(function(content){})

关于javascript - Promised 请求在解析时不会返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33015102/

相关文章:

javascript - Kendo ui Grid 内联编辑,带有 editorTemplate 的字段

javascript - 从API获取数据并在快速 View 中输出

Javascript正则表达式数值范围

javascript - 为什么 Promise-Limit 在 Nodejs 中不起作用?

node.js - 如何在 NodeJS + Express 4 中获取 req.user.email

ruby - 我如何使用 Ruby 和 Puma 检测由其他请求生成的请求?

javascript - `export Module from "module"` 是有效的 JavaScript 语法吗?

javascript - 如何使用 JavaScript 显示从数据库正确检索的日期

node.js - Apollo服务器网络错误: unable to reach server

node.js - Node http 请求无序执行,导致使用随机数值的 API 出现问题