gpt4 book ai didi

javascript - 如何在node.js中以非阻塞方式让连接等待?

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:08 26 4
gpt4 key购买 nike

我对 Node.js 很好奇,我花了几个小时阅读和观看视频。我没有写那么多代码,但我写的几行代码出现了意想不到的行为:

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('Wait some seconds please<br/>');

setTimeout(function() {
res.end("I'm done");
}, 10 * 1000);
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

当有传入请求时,应该使用此代码:

  1. 在输出中写入第一行
  2. 要求 Node 在十秒后调用函数,然后让浏览器等待
  3. 写入第二行并返回。

因此,我假设如果我在第一个请求待处理时使用另一个浏览器调用服务器,我会收到一个新请求与第一个请求并行处理。

但是服务器没有响应,然后第二个浏览器只是等待第一个请求完成才能从服务器获取其内容。然后我假设 setTimeout 被阻塞。我怎样才能实现上面首先描述的目标。

最佳答案

您的问题是浏览器对当前请求的数量有限制。您可以尝试对来自 IE 的一个请求和来自 Firefox 等的一个请求执行相同的操作,我相信它会起作用。我确信这不是 Nodejs 问题。

关于javascript - 如何在node.js中以非阻塞方式让连接等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8269530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com