在vue3中使用WebSocket的正确姿势,优雅~实在是太优雅了~

这篇具有很好参考价值的文章主要介绍了在vue3中使用WebSocket的正确姿势,优雅~实在是太优雅了~。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明

此教程针对typescript,提供断线自动重连,断线数据重发,自动心跳,自定义消息发送机制

测试用例地址:在vue3+typescript-websocket示例

安装

安装tools-vue3工具库,此仓库提供了http请求、文件请求、websocket、signalr、cookie的功能

pnpm i tools-vue3

使用示例

  • 创建 WSUtil.ts文件
  • 内容:
import { WebSocketBean } from 'tools-vue3'
export default class WSUtil {
    static ws: WebSocketBean
    static async init() {
        const sendSuffix = ''
        
        //初始化websokcet对象
        this.ws = new WebSocketBean({
            url: 'ws://192.168.1.66:8801/ws',
            needReconnect: true,
            reconnectGapTime: 3000,
            onerror: () => {
                console.log('断开')
            },
            sendSuffix,
            messageSuffix: sendSuffix,
            heartSend: '~',
            heartGet: '~',
            heartGapTime: 3000,
            onmessage: (data) => {
            	//在这里写消息处理逻辑
                console.log(data.data)
                const sp = data.data.split(sendSuffix).filter((el: string) => el.length > 0)
                console.log(sp)
            }
        })
        //建立连接
        this.ws.start()
    }
}

  • 发送数据
WSUtil.ws.send('data')
  • 主动断开
WSUtil.ws.dispose()
  • 消息处理

对消息处理一般使用事件总线去做,使用tools-javascript仓库中提供的CEvent.on和CEvent.emit去做即可文章来源地址https://www.toymoban.com/news/detail-524206.html

//在WSUtil.ts的onmessage方法中
onmessage: (data) => { 
    //在这里写消息处理逻辑 
    console.log(data.data) 
    const sp = data.data.split(sendSuffix).filter((el: string) => el.length > 0) 
    console.log(sp) 
    //这里sp的数据为['{\"code\":\"getData\",\"data\":\"test\"}']
    sp.forEach(item=>{
        const jsonData = JSON.parse(item)
        //事件触发
        CEvent.emit(jsonData.code,jsonData.data)
    })
}


//在任意文件或者页面中
CEvent.on("getData",(data)=>{
    //在onmessage触发后,这里应该打印test字符串
    console.log(data)
})

到了这里,关于在vue3中使用WebSocket的正确姿势,优雅~实在是太优雅了~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 16:00面试,16:09就出来了 ,问的实在是太...

    从外包出来,没想到算法死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问

    2024年02月21日
    浏览(43)
  • 10:00面试,10:04就出来了 ,问的实在是太...

    从外包出来,没想到竟然死在了另一家厂子··· 自从加入这家公司,每天都在加班,钱倒是给的不少,所以我也就忍了。没想到12月一纸通知,所有人都不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道

    2024年02月03日
    浏览(67)
  • 17:00面试,17:04就出来了 ,问的实在是太...

    从外包出来,没想到算法死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问

    2023年04月20日
    浏览(45)
  • 14:24面试,14:32就出来了 ,问的实在是太...

    从外包出来,没想到算法死在另一家厂子,自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给

    2023年04月19日
    浏览(72)
  • 17:00面试,还没10分钟就出来了,问的实在是太...

    从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了

    2024年02月08日
    浏览(36)
  • 外包实在是太坑了,划水三年,感觉人都废了

    先说一下自己的情况,专科生,19年通过校招进入杭州某个外包软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了3年的功能测试,已经让我变得不思进取,谈了几年的女朋友也

    2024年02月07日
    浏览(30)
  • 9:00面试,9:03就出来了 ,问的实在是太变态了···

    从外包出来,没想到竟然死在了另一家厂子··· 自从加入这家公司,每天都在加班,钱倒是给的不少,所以我也就忍了。没想到12月一纸通知,所有人都不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道

    2024年02月04日
    浏览(47)
  • 好家伙,9:00面试,9:06就出来了,问的实在是太...

    从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到2月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了

    2023年04月21日
    浏览(39)
  • 劝退忠告:外包实在是太坑了,划水三年,感觉人都废了

    先说一下自己的情况,专科生,19年通过校招进入杭州某个外包软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!   而我已经在一个企业干了3年的功能测试,已经让我变得不思进取,谈了几年的女朋友

    2024年02月08日
    浏览(37)
  • 8:00面试,8:05就出来了 ,问的实在是太变态了···

    从外包出来,没想到竟然死在了另一家厂子··· 自从加入这家公司,每天都在加班,钱倒是给的不少,所以我也就忍了。没想到12月一纸通知,所有人都不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去了一家互联网公司,兴冲冲见面试官,没想到一道

    2023年04月18日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包