Использование Socketio внутри промежуточного программного обеспечения mon goose - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь использовать SocketIo внутри промежуточного программного обеспечения mon goose, и я объявил экземпляр io внутри global, но у меня есть undefine внутри mon goose middleware

приложение js

const http = require('http')
const express = require('express')
const socketio = require('socket.io')
const app = express()
const server = http.createServer(app)

global.io = socketio(server)

профиль. js

profileSchema.post('save', async function () {
const profile = this

if (profile.isModified('energy')) {
    io.emit('energy', profile.energy)
}

})

1 Ответ

0 голосов
/ 18 июня 2020

Хорошо, давайте сделаем это :)

// config. js

const http = require('http')
const express = require('express')
const socketio = require('socket.io')
const app = express()
const server = http.createServer(app)

const io = socketio(server);
module.exports = { io }

поверх сервера. js

const { io } = require('./config');

io.on('connection', ...); // your connection

снова на верх профиля. js

const { io } = require('./config');

profileSchema.post('save', async function () {
    const profile = this

    if (profile.isModified('energy')) {
        io.emit('energy', profile.energy)
    }
})

Надеюсь, что это сработает :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...