V
Size: a a a
V
IS
IS
V
IS
IS
V
V
IS
W
M
function rafAsync(end) { // Функция "ожидания" и проверки отведенного времени
return new Promise((resolve, reject) => { // resolve - > then | reject - > catch
if (new Date().getTime() < end) { // Проверка отложенного на выполнения времени
requestAnimationFrame(resolve); // Задержка вызовом функции для анимации "60 тактов в секунду"
} else {
reject('Элемент не найден - время ожидания элемента истекло') // В случае если время истекло
}
});
}
async function checkElement(selector, sec = 1) { // "async" сообщает об асинхронности выполнения функции
const end = new Date().getTime() + sec * 1000; // Задаем значение ожидания времени
console.log('Поиск элемента с селектором: "' + selector + '" Время ожидания: ' + sec + 'сек.')
while (document.querySelector(selector) === null) { // "while" что говорит о запуске цикла который будет выполняться пока утверждение верно
await rafAsync(end) // "await" выполнение кода приостановлено пока не будет выполнена вызыванная функция целиком
}
return this // Возвращаем результат Promise из rafAsync
}
checkElement('.next-button', 2) // Функция проверки наличия элемента на странице по селектору с возможной установкой задержки ожидания
M
V
IS
M
M
Рк
j
*/