【发布时间】:2012-11-16 12:53:19
【问题描述】:
我可以在 websockets 上从服务器发送和接收消息。我需要编写一个函数,它将数据发送到服务器并等待服务器的响应,然后将其作为函数的结果返回。
发送:
ws.send('my_message_to_server');
接收(这是一个事件):
ws.bind('message', function(message) {
console.log(message);
});
我的功能:
function request(message){
ws.send(message);
//How wait for receive???
return response;
}
【问题讨论】:
-
你不能为异步的东西创建一个同步函数。忙着等待很糟糕,JavaScript 不支持它。你为什么要这样做?看看承诺。
-
@Bergi 实际上你可以。看看我下面的答案。只需创建一个简单的队列,在该示例中无需忙于等待 :)
-
@RonanDejhero:不,您的函数不是同步的。它确实使用异步回调,因为每个套接字侦听器都需要。
标签: javascript jquery websocket