Javascript Socketio返回信息
我想在从socket.io请求中获得信息后立即退出带有return的函数。功能如下:Javascript Socketio返回信息,javascript,socket.io,Javascript,Socket.io,我想在从socket.io请求中获得信息后立即退出带有return的函数。功能如下: function getSession(key) { socket.emit('client_get_session', {key : key}); socket.on('server_send_session', function(data) { return data; }); } 它应该在接收数据时返回数据,但函数似乎在数据实际到达
function getSession(key) {
socket.emit('client_get_session', {key : key});
socket.on('server_send_session', function(data) {
return data;
});
}
它应该在接收数据时返回数据,但函数似乎在数据实际到达之前结束。当我使用console.log()运行它时,它将首先显示函数的结束,然后显示包含实际数据的控制台日志
我怎样才能避免这种情况并返回“数据”?回调是有帮助的,承诺也是
function getSession(key, cb){
socket.emit('client_get_session', {key : key});
socket.on('server_send_session', function(data) {
if(!data) return console.error('beep error occured');
cb && cb(data);
});
}
getSession(123,function(resData){
console.log('result',resData);
})
回电是有帮助的,承诺也是
function getSession(key, cb){
socket.emit('client_get_session', {key : key});
socket.on('server_send_session', function(data) {
if(!data) return console.error('beep error occured');
cb && cb(data);
});
}
getSession(123,function(resData){
console.log('result',resData);
})