1

我正在尝试使用此库登录电报: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);
            });
          });
        }
      }));
    });
4

0 回答 0