我想使用vuex,node,express和socketio执行实时操作,但是使用以下语法我无法得到结果。
服务器
index.js
terminal
socket.js
const server = app.listen('3000',() => {
console.log('<--- Web Server Starter --->')
const io = require('./sockets')(server)
io.on('connection',socket=>{
console.log('client connected');
})
})
user.js
let io
module.exports = {
init:httpServer =>{
io = require('socket.io')(httpServer)
return io
},getIo:()=>{
if(!io){
throw new Error('socket io not initialized')
}
return io
}
}
客户
模块化user.js(VUEX操作)
const io = require('../socket')
router.post('/newuser',(req,res) => {
res.json({ serverResponse: 'userCreated' })
io.getIo().emit('newuser',{serverResponse:'created',user:user})
})
创建新用户时,用户列表不会自动更新,但是我必须刷新页面才能看到新用户,为什么会发生这种情况?