vue-cli 我websocket封装了,我要怎么在组件监听获取到的数据

问题描述

封装了websocket,发送数据直接就 this.socketApi.controlsendSock(controlData),
我收到的数据也在封装的js中,我怎么把数据应用到模板中。
还有如果监听话,websocket接收到的2次数据一样,是不是就没有监听的效果了

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
websocket.js

function websocket(){
    var url = 'wss://'+getPostUrl()+':9567/deviceop';
    ws =new WebSocket(url);
    ws.binaryType = 'arraybuffer';
    ws.onmessage = function(event){
        console.log("data === " + event.data);
        if(event.data instanceof ArrayBuffer){
            var buffer = event.data;
            var data = parse(buffer)
            var newdata = JSON.parse(data)
        }
    }
    ws.onopen = function (event) {
        console.log("链接成功")
    }
    ws.onclose = function(event){
        console.log("链接关闭")
    }
    ws.onerror = function () {
        // wsData="qweqweuqeg iqwge iqgwiug"
        console.log("WebSocket连接发生错误");
    }

}

function controlsendSock(controlData){
    ws.send(controlData)
}

websocket();
export{ws,controlsendSock}

你期待的结果是什么?实际看到的错误信息又是什么?

封装中的 newdata 这个接收到的值 我怎么应用到模板中去

阅读 4.7k
1 个回答

controlData里面放回调,或者直接returnPromise收到消息触发.
当然还得要做到onmessagesend消息一一对应,我的做法是send的时候创建一个唯一id 后台回调把这个id返回,这样就能定位消息也不怕重复了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题