Я делаю виджет JavaScript (для платформы Thingsboard).на сайте тесбордов работает какой-то JavaScript-код (например, do_some_things
), который я не могу изменить.Мой виджет может определять такие функции, как func_1
, которые будут запускаться сайтом тайтбордов.
//### THINGSBOARD CODE (can not modify!) ###
function do_some_things() {
...
func_1();
func_2();
...
}
//### WIDGET CODE (can modify!) ###
function func_1() {
socket = new WebSocket("ws://192.168.137.4:8081/");
socket.onmessage=function(evt) {
settings_string = evt.data;
}
/* wait for a message here!*/
return settings_string;
}
в func_1
Я хотел бы вернуть некоторую строку, которую я извлекаю с сервера веб-сокетов.как мне заблокировать выполнение func_1
, пока у меня не появится сообщение websocket?
Я посмотрел на обещания и жду, но я не понимаю, как это может помочь мне, поскольку я не могу позволить func_2
до запуска func_1
и возврата его значения.
(мне все равно, если весь сайт зависнет, пока он ждет веб-сокета)