NodeJS-HTTP请求不会将句柄返回给REPL

时间:2019-10-11 21:40:37

标签: node.js

我有以下代码返回200,但是Node REPL上的句柄没有返回

require('https').get('https://www.google.com/', (resp)=>{console.log(resp.statusCode)}).end();

它显示

  

200

但是然后它在等待,直到我按Enter才返回句柄。这是否意味着我错过了添加指令的步骤?

2 个答案:

答案 0 :(得分:0)

我在这里找到了答案。如果脚本用作代理模式,则连接保持活动状态。在这里发布了类似的问题

node.js - after get request, script does not return to console

当我尝试使用agent:false-并同时提供host, port, path信息时-可以正常工作。

答案 1 :(得分:0)

工作代码听起来不错,但是REPL(和回调)正在和您玩耍...

它实际上确实返回了“句柄”……看起来像是 ,就像不在REPL中一样。

“ console.log(param)”使用返回线在stdout(控制台)处返回字符串参数(在本例中为200)。这样就给人一种错觉,那就是您在命令行之间……不是……您可以键入下一个命令,而不要按“ ENTER”,这样就可以了。

为了更好地演示,请尝试使用单独的行运行代码,并尝试在“句柄返回之前”键入命令。

const https = require('https');
var req = https.get('https://www.google.com/', (resp)=>{console.log(resp.statusCode)});
req.end();

enter image description here