このライブラリでテレグラムにログインしようとしています: https://github.com/Bannerets/tdl、電話番号とコードをフロントエンド経由で送信する必要があります。これを行う唯一の方法は、ソケットを使用することでした。 io、ソケットでプロミスを使用すると正常に機能しますが、2回実行しても何も起こりません。
バックエンド:
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);
});
});
}
}));
});