我目前有一个Python Flask SocketIO应用程序,它将使用this socket.io library连接到Vue应用程序。 Vue应用程序(当前)将在按下按钮时使用socket.io轮询Python应用程序。我可以正确接收从Vue发送的数据;但是,Vue没有收到数据。目前,我的行为/突变看起来像这样:
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数据')。当我使用socket.io-client
在节点中运行一个简单的客户端时,这可以工作,我可以正确地接收数据。此外,当我取消注释fbCommentsPerPost
中的socket.on块时,我至少可以控制记录数据。我在这里找不到什么东西?
答案 0 :(得分:1)
vue-socket.io
在将套接字事件转换为操作和突变方面存在问题。它有点工作但不如预期。检查问题#117
几个月前,很少有PR解决此问题,但有些edge cases未涵盖。因此,您可以尝试最新版本,或者转移到vue-socket.io-extended
。