【问题标题】:HTTP/HTTPS response methodsHTTP/HTTPS 响应方法
【发布时间】:2020-12-02 02:36:52
【问题描述】:

我正在学习 Node.js,偶然发现了来自 https://nodejs.org/api/https.html 的这个 sn-p

 const req = await https.request(options, (res) => {
    res.on('data', (d) => {
        process.stdout.write(d);
    });
 });

我没有得到关于“数据”的方法..它来自哪里?为什么不在“信息”上?我看到有“错误”,还有更多吗?我在哪里可以找到有关它的文档?

【问题讨论】:

  • FWIW,the page you linked 上不存在该代码。这很好,因为它对 await https.request 没有意义,因为它不会返回承诺。
  • "data" 不是方法,而是事件名称。我们无法告诉你为什么 API 的设计者会为某些东西选择一个特定的名称。
  • 遵循这些东西的文档比应该的更难。
  • 为什么要使用await?

标签: javascript node.js https request


【解决方案1】:

data 是当响应包含可以从响应中读取的数据时发出的事件的名称。该事件会根据需要多次触发以传输所有数据;然后触发end 事件。

它来自哪里?

对请求的响应(最终来自对话的另一端)。

为什么不在“信息”上?

"block""packet" 或...因为设计API 的人必须选择一个名称,然后选择"data"

我看到有“错误”,还有更多吗?

是的。

我在哪里可以找到有关它的文档?

这并不像它可能的那样明显。 https.request 的文档在 the page you linked 上,但没有直接提及 data 事件。这是http.request的HTTPS版本,上面写着:

可选的回调参数将被添加为'response' 事件的一次性监听器。

下面告诉你响应对象 (res) 是一个http.IncomingMessage 对象,它是一个readable stream,它记录了它的各种事件,包括data

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 2019-01-09
    • 2016-08-08
    • 2019-02-12
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    相关资源
    最近更新 更多