簡體   English   中英

需要后監聽 Socket.io 服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM