Vue Socket.io 没有收到数据

Vue Socket.io Not Receiving Data

我目前有一个 Python Flask SocketIO 应用程序,它将使用 this socket.io library 连接到 Vue 应用程序。 Vue 应用程序(当前)将在按下按钮时使用 socket.io 轮询 Python 应用程序。我可以正确接收Vue发来的数据;但是,Vue 没有接收到数据。目前,我的 actions/mutations 看起来像这样:

const actions = {
  fbCommentsPerPost: (context) => {
    console.log('fb comments per post sent!')
    socket.emit('fb comments per post', { post_id: '123' })
    // socket.on('data', function (resp) {
    //   console.log(resp)
    // })
  },
  socket_connectResp: (context, message) => {
    console.log(message)
  },
  socket_fbData: (context, message) => {
    console.log(message)
  }
}

// mutations
const mutations = {
  SOCKET_FB_DATA: (state, status) => {
    console.log('comments!!!!')
  }
}

使用此项目的自述文件,socket_fbData 应该 从 Python 应用程序接收数据(后端发出 'fb data').当我 运行 节点中的一个简单客户端使用 socket.io-client 时,这有效并且我可以正确接收数据。此外,当我取消注释 fbCommentsPerPost 中的 socket.on 块时,我至少可以控制台记录数据。我在这里遗漏了什么吗?

vue-socket.io 在将套接字事件转换为操作和变更时存在问题。它有点工作,但不像预期的那样。检查问题 #117

几个月前,很少有 PR 修复了这个问题,但有一些 edge cases are not covered. So you can try the latest version or just move to vue-socket.io-extended