gpt4 book ai didi

javascript - 如何访问在node.js服务器文件中声明的数组

转载 作者:行者123 更新时间:2023-12-02 14:30:54 25 4
gpt4 key购买 nike

我在 Node.js 应用程序的 server.js 中声明了一个数组。我希望客户端能够访问数组及其内容。那可能吗?如果是,我该怎么做?我尝试了以下方法,但控制台总是说全局数组未定义

server.js

//connection code above this
var global_array=[];
socket.on('change', function(data){
socket.broadcast.emit('change', data);
global_array.push(data);
console.log(global_array);
});
.... //rest code

ma​​in.js

if (typeof global_array !== 'undefined' && global_array.length > 0) {
console.log(global_array);
} else {
console.log("global array not defined");
}

最佳答案

在服务器上定义变量并不意味着它也可以在客户端访问。

我建议也在客户端初始化 global_array 变量。当客户端连接到服务器时,服务器会发送初始数组数据或空数组(如果没有数据)。然后,客户端将监听 change 事件。

服务器端代码:

var global_array = [];

io.on('connection', function(socket) {
socket.emit('initialize array', global_array);
socket
.on('change', function(data) {
socket.broadcast.emit('change', data);
global_array.push(data);
console.log(global_array);
});
});

客户端代码:

var global_array;

socket
.on('initialize array', function(initial_global_array) {
global_array = initial_global_array;
})
.on('change', function(data) {
global_array.push(data);
});

关于javascript - 如何访问在node.js服务器文件中声明的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37843101/

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