我目前有一个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 data')。当我在使用socket.io-client
的节点中运行一个简单的客户端时,这是有效的,并且我可以正确地接收数据。此外,当我在fbCommentsPerPost
中取消对socket.on块的注释时,我至少可以通过控制台记录数据。我是不是漏掉了什么?
发布于 2018-06-02 03:11:07
vue-socket.io
在将套接字事件转换为操作和突变时存在问题。它在某种程度上是有效的,但并不像预期的那样。检查问题#117
几个月前,有几个PR修复了这个问题,但一些edge cases没有涵盖。所以你可以尝试最新版本的,或者直接 。
https://stackoverflow.com/questions/47561063
复制相似问题