Пытаюсь написать TS\JS скрипт с использованием WebSocket, чтобы с сервером общаться, но я не пойму, как лучше всего, правильно, сделать отправку и получение данных.
Логика такая, что мне нужно отправить данные, дождаться ответа, вернуть ответ из метода и перейти дальше по коду.
С помощью ИИ и интернета сделал что-то такое:
sendMethod(method_name: string, data: any): Promise<any> {
return new Promise((resolve, reject) => {
let method = {
method_name: method_name,
data: data,
};
let messageHandler = (event:MessageEvent) => {
// Обработка полученного результата
this.socket.removeEventListener('message', messageHandler);
let result = JSON.parse(event.data);
resolve(result);
};
// Добавляем обработчик для получения результата
this.socket.addEventListener('message', messageHandler);
// Отправляем метод
this.socket.send(JSON.stringify(method));
});
}
И уже сам метод:
get_info_about_video(video_uuid:string){
let result = this.sendMethod(
"get_info_about_video",
{
video_uuid: video_uuid,
}
).then(result => {
return result;
});
console.log(result)
return result
}
Но есть ощущение, что это не работает так как мне нужно.
Поэтому я спрашиваю тут, может кто-то знает, как лучше\правильно\чище реализовать такое?