Существует глобальная переменная window.listNodes
, которая представляет собой массив. Эта переменная обновляется каждые 3 секунды и заполняется последовательно.JavaScript: приостановить функцию и ждать глобальной переменной
Другая функция onOpen()
запускается пользователем и должна иметь глобальную переменную window.listNodes
, содержащую 3 элемента, не менее. То, что я пытаюсь сделать: если глобальная переменная не имеет .length
, равную 3, тогда программа ожидает, что другая часть кода заполняет window.listNodes
, а затем снова запустит функцию onOpen()
.
socket.onopen = function onOpen() {
if (window.listNodes.length === 3) {
// Do something
} else {
// Wait and when window.listNodes.length === 3:
onOpen();
}
});
};
Есть ли простой способ сделать это? Я попытался с функцией setTimeOut()
и с функцией генератора и ключевым словом yield
, но мне не удалось.
Благодарит Вас за драгоценную помощь :)
_I пытался с функцией 'setTimeOut'_ Я показал в своем ответе, как это можно сделать с помощью' setTimeout'. Как ты сделал это? –