我正在尝试使用此库登录电报:https ://github.com/Bannerets/tdl ,我需要通过前端发送电话号码和代码,我看到的唯一方法是使用套接字。 io,当我使用带有套接字的承诺时,它可以正常工作,但是当我这样做两次时,什么也没有发生。
后端:
io.on('connection', async (socket) => {
console.log('a user connected');
await client.login(() => ({
getPhoneNumber: () => {
return new Promise((resolve, reject) => {
socket.on('phone:submitted', async (msg) => {
resolve(msg);
});
});
},
getAuthCode: () => {
return new Promise((resolve, reject) => {
socket.on('code:submitted', async (msg) => {
resolve(msg);
});
});
},
}));
});
前端:
var socket = io('http://localhost:3000');
socket.emit('phone:submitted', '+1234567890');
如果我只是这样说:它有效:
io.on('connection', async (socket) => {
console.log('a user connected');
await client.login(() => ({
getPhoneNumber: () => {
return new Promise((resolve, reject) => {
socket.on('phone:submitted', async (msg) => {
resolve(msg);
});
});
}
}));
});