gpt4 book ai didi

javascript - Socket.IO:如何在同一服务器中的 socket.on() 事件之间通信/交换数据?

转载 作者:行者123 更新时间:2023-11-30 10:24:18 25 4
gpt4 key购买 nike

我在一个 socket.on 事件下编写了某些代码行,该事件从客户端调用以使用回调机制获取数据。
是否可以在同一服务器和同一文件中使用回调在两个 socket.on 事件之间进行通信并交换数据?

为了。例如客户端和服务器之间的正常流程:

socket.emit('init',data,function(callbackFromServer)) //from client
| ^
| | server respond through callback to client
V |
socket.on('init',function(data, callback){/*....*/}); // to server

我想实现相同的情况,但在服务器本身内部的两个 socket.on() 事件之间交换数据。即:

                         client  
| ^
V |
socket.on('someEvent',function(data,callback1){/*....*/}) // some.js
| ^
V | // <-- I want to achieve this
socket.on('init',function(data,callback2){/*.....*/}) // some.js

是否有可能通过任何方法实现这一目标?

最佳答案

我不确定我是否完全理解用例,但如果您只想调用另一个函数,为什么不使用变量来引用这些函数呢?然后您可以随时给他们打电话。

var someEventFn = function(data, callback1) {
initFn(data, function(result) {
// here you have the result from the init method
});
},
initFn = function(data, callback2) {
// some js
};

socket.on('someEvent', someEventFn);
socket.on('init', initFn);

然后您可以从 someEventFn 内部调用 initFn,同时仍然允许在 socket.on 事件中调用它。我是否正确理解了您的问题?

关于javascript - Socket.IO:如何在同一服务器中的 socket.on() 事件之间通信/交换数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20196220/

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