页面刷新后如何在Vuex中重新打开websocket连接?

时间:2019-10-28 08:55:05

标签: vue.js vuex

用户注册到我的应用程序后,一个组件将向Vuex发送一个操作,以开始使用Websocket侦听来自服务器的更新请求。

Vuex动作:

  const socket = io(url);
  socket.on(id, data => {
     ...

我正在使用Vuex持久使用LocalStorage来存储状态。但是,如果用户刷新浏览器,则websocket连接将丢失。如果将套接字纳入Vuex状态,则会出现以下错误:

vuex-persistedstate.es.js?0e44:1 Uncaught (in promise) TypeError: Converting circular structure to JSON
    --> starting at object with constructor 'Socket'
    |     property 'io' -> object with constructor 'Manager'
    |     property 'nsps' -> object with constructor 'Object'
    --- property '/' closes the circle

由于Vuex没有生命周期挂钩,刷新后如何恢复websocket连接?

Vuex还应始终在刷新后从后端刷新状态,以确保在websocket连接断开时不会丢失任何更新请求事件。

0 个答案:

没有答案