websocket 消息发送后回调

问题描述

例:发送登录请求后及时获取返回值,然后根据返回值处理接下来的事件,类似http请求,不过需求是要用websocket做到这一点。

我们在websocket 介绍上能够充分认知到websocket的所有回调函数都是异步执行的,也就是说我发送send(msg)之后我要读取信息是在onmessage()里面读取,这显然不符合我们的要求。

我想要这样的效果

ws.send('',(res)=>{
    //res为send的返回值(类似于response)
})


阅读 6.8k
评论
    4 个回答
           // 创建websocket
           ws = new WebSocket("ws://xxx:xxx");
           // 当socket连接打开时,输入用户名
           ws.onopen = onopen;
           // 当有消息时根据消息类型显示不同信息
           ws.onmessage = onmessage; 
           ws.onclose = function() {
              console.log("连接关闭,定时重连");
              connect();
           };
           ws.onerror = function() {
               console.log("出现错误");
           };

    有一个一开始发送一条消息的方法。

    ws.onopen

    当然这个可能还是不能解决你的问题。不过 下面是一个 PHP聊天室框架 的例子。js 部分还是可以参考的。

    https://github.com/walkor/wor...

      相似问题
      推荐文章