vue3中 useWebSocket from ‘@vueuse/core‘

 

VueUse‌ 是一个基于Vue 3 Composition API的强大Hooks库,专为Vue 3设计,充分利用了Vue 3的最新功能。它提供了200多个函数,涵盖了数据请求、状态管理、视图操作、性能优化等多个方面,帮助开发者快速实现各种功能,提高开发效率‌12。

主要功能和特点

  1. 丰富的函数库‌:VueUse提供了超过200个函数,覆盖了动画、浏览器操作、组件、传感器、状态管理等多个方面‌13。
  2. 类型安全‌:使用TypeScript编写,带有完整的TypeScript文档,确保类型安全‌1。
  3. 灵活性和可定制性‌:支持将引用作为参数传递,事件过滤器和目标完全可定制和配置‌1。
  4. 兼容性‌:VueUse兼容Vue 2和Vue 3,可以通过npm或CDN安装‌3。
  5. 高级功能和最佳实践‌:包括使用剪贴板、路由、存储等功能,并提供详细的最佳实践和建议‌2。

常用Hooks

  • useDebounce 和 useThrottle‌:用于防抖和节流操作。
  • useRequest‌:用于发起网络请求。
  • useTitle‌:用于更新页面标题。
  • useCounter‌:用于创建可响应的计数器。
  • useToggle‌:用于创建开关状态。
  • useFullscreen‌:用于全屏操作。
  • useInterval 和 useTimeout‌:用于设置定时器和超时功能。
  • useMounted 和 useUnmounted‌:用于组件挂载和卸载时的操作。
  • useAsync‌:用于异步操作。
  • useLocalStorage 和 useSessionStorage‌:用于本地存储和会话存储。

import { useWebSocket } from '@vueuse/core'
import { ref } from 'vue'
 
const isFirstConnection = ref(true) // 标志位,标记是否是第一次连接
 
const { data, send, open, close } = useWebSocket('ws://your-websocket-url', {
  autoReconnect: {
    retries: 3,
    delay: 1000,
    onFailed() {
      console.log('Failed to reconnect WebSocket')
    },
  },
  onConnected(ws) {
    console.log('WebSocket connected')
    if (isFirstConnection.value) {
      // 第一次连接
      send(JSON.stringify({ type: 'fristconnect', data: 'your_data' }))
      isFirstConnection.value = false // 第一次连接完成后,将标志位设为 false
    }else{
      // 如果不是第一次连接,则发送 vehicle_change 消息
      send(JSON.stringify({ type: 'reconnect', data: 'your_data' }))
     }
   
  },
  onDisconnected(ws) {
    console.log('WebSocket disconnected')
  },
})
————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小云儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值