我的服务器是使用 SocketIO 用 nodeJS + Typescript 编写的,这是一个在线聊天应用程序,但我无法使用 TypeScript 传输库中提供的回调
如何正确调用回调?下面的代码抛出一个错误
const { addMember, getMember, deleteMember, getMembers } = require('./members')
const app = require('express')()
const http = require('http').createServer(app)
const io = require('socket.io')(http)
const cors = require('cors')
const PORT = process.env.PORT || 5000
interface Date {
name: string,
room: string
}
declare type MyHandler = (myArgument: string) => void;
app.use(cors())
io.on('connection', (socket: any) => {
console.log("User connected");
socket.on('login', ({ name, room }: Date, callback) => {
console.log("User");
const { user, error } = addMember(socket.id, name, room)
if (error) return callback(error)
socket.join(user.room)
socket.in(room).emit('notification', { title: 'Кто то вошел', description: `${user.name} присоеденился к нам` })
io.in(room).emit('users', getMembers(room))
callback()
})
})
错误
<块引用>参数 'callback' 隐式具有 'any' 类型。
答案 0 :(得分:1)
尝试更改以下行:
socket.on('login', ({ name, room }: Date, callback: Function) => {