gpt4 book ai didi

javascript - Node.js 和带有循环的服务器 ID?

转载 作者:行者123 更新时间:2023-12-03 12:38:40 26 4
gpt4 key购买 nike

我是 Node.js 的新手,我遇到了一个小问题,这可能与我对 Node 的理解有关。

基本上,我正在尝试创建一堆服务器(每个服务器位于不同的端口上)来模拟我的应用程序调用多个客户端的情况。然而,当我循环时,我试图让它们有一个返回其“ID”的端点,但由于某种原因它总是返回 i 的最终值,19,而不是我在 client.set 期间存储的索引在循环期间。我错过了一些简单的事情吗?这是我的 server.js:

    var express = require('express');

var clientcount= 20;
var clients= new Array();

for (var i=0; i < clientcount; i++) {

var client= express();

client.set('id', i);

client.get('/', function(req,res) {

console.log("Pinged " + client.get('id'));
res.send("Hello world from " + client.get('id'));

});

clients.push(client);

console.log("Test value: " + clients[i].get('id'));

clients[i].listen(3001 + i);
console.log("Client listening on port " + (3001 + i));

}

在此示例中,“测试值”按预期打印出来,但如果我使用 postman 点击 127.0.0.1:3014,我会得到 19,而不是预期的 13。

最佳答案

我不知道 express 类看起来如何,但我会嗅探那里 - 似乎您将这个对象的相同实例分配给每个新创建的 client 变量迭代。您不需要创建新实例吗?

关于javascript - Node.js 和带有循环的服务器 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23609856/

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