我是nodejs的新手。我在 ex 1 中没有看到响应,但我在 ex 2 中看到了。为什么? Await 在其他地方为我工作,使用 babel。
例 1
let res = await request(url)
console.log(res);
console.log(res.body);
前 2
request(url, function (error, res, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
});
Await 在其他地方工作,我正在使用 babel 和 es6 和 es7 功能所需的模块。例如,我验证了 await 在 squelize 调用中工作。但它不适用于请求调用。为什么?
原文由 user43286 发布,翻译遵循 CC BY-SA 4.0 许可协议
你应该只
await
在返回承诺的东西上。我绝对建议您在开始使用async
和await
之前阅读 Promises。您可能可以通过围绕request
创建自己的包装函数来使这个示例工作,使其返回一个承诺,如下所示:编辑:或者,您可以考虑使用 基于承诺的请求库 而不是常规请求模块。