javascript - 为什么 async/await 不等待节点的 http.get()?
问题描述
我现在正在学习 Node.js,我有一个关于异步内容的问题。
这是一个代码:
const http = require("http"),
[_, _1, url1, url2, url3] = process.argv;
let strings = '';
const fetchData = async () => {
const firstReq = await http.get(url1, data => {
data.on('data', chunk => {
strings += chunk
})
});
const logRes = await test()
return firstReq
}
const test = () => {
console.log(` --- `, strings);
}
fetchData();
我期待该节点将对 url 发出 GET 请求,将块添加到变量,然后调用下一步await
,这将console.log
产生带有数据的字符串。
现在代码执行只打印空字符串。
为什么 async/await 在这里不起作用?是因为http.get()
不返回任何东西吗?
谢谢!
解决方案
推荐阅读
- jquery - 一个有两个间隔的 setTimeout 循环
- python - 如何将 Odoo 环境加载到 Jupyter Notebook 中?
- promise - Rxjs 采取While to Promise 问题
- firebase - 迁移到 FCM 问题添加到控制台
- sas - 当给定组中缺少行时将行添加到数据集中
- django - Django 在创建期间将对象添加到相关管理器
- azure - 将 JSON 模式插入 U-SQL 表
- ruby-on-rails - Rails 模型和控制器
- python - Pygame碰撞:spritecollide没有输出
- python - 使用 scipy.io.wavfile 时出错