[英]Listen to Socket.io server after require
當我在 require 之后立即激活io
服務器時,它工作正常,但是當我想在 require 之后執行時,我的代碼在與io
的第一次交互(在我的情況下定義中間件)時出現錯誤。
這工作正常:
const io = require('socket.io').listen(3002);
const { authValidation } = require('./middlewares');
//Middlewares
io.use(authValidation);
. . .
這個給出了一個錯誤:
const io = require('socket.io');
const { authValidation } = require('./middlewares');
io.listen(3002, () => {
console.log(`Listening to port 3002`);
});
//Middlewares
io.use(authValidation);
. . .
錯誤表明io.use()
不是函數。 我認為存在與代碼執行流程和異步內容相關的問題,但我不能說到底是什么。
也許試試這個? 我有一段時間沒有使用socket.io
,但我記得它是這樣的。
這樣做的不同之處在於將io
設置為listen
方法的返回值。
const socket = require('socket.io');
const { authValidation } = require('./middlewares');
const io = socket.listen(3002, () => {
console.log(`Listening to port 3002`);
});
//Middlewares
io.use(authValidation);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.