M
К примеру в предыдущем примере я не понял зачем возвращаем класс
return Promise.resolve(true); // Тогда возвращаем Promise.resolve(true) или это для того что бы функция могла себя вызывать рекурсивно?Size: a a a
M
return Promise.resolve(true); // Тогда возвращаем Promise.resolve(true) или это для того что бы функция могла себя вызывать рекурсивно?M
export default async function checkElement(selector) { // "async" сообщает об асинхронности выполнения функции а "export default" о том что ее можно импортировать в другой код
if (document.querySelector(selector) === null) { // Строгая проверка что утверждает об отсутствии элемента на странице в момент проверки
await rafAsync(); // "await" сообщает о приостановке выполнения всего кода внутри функции до выполнения вызванной "rafAsync" (простая задержка описаная ранее)
return checkElement(selector); // Возвращаем? Рекурсивный вызов функции checkElement
} else { // В случае если предыдущее утверждение не верно (элемент присутствует на странице)
return true; // Вот тут ясно что просто возвращаеться True
}
}M
export default async function checkElement(selector) { // "async" сообщает об асинхронности выполнения функции а "export default" о том что ее можно импортировать в другой код
while (document.querySelector(selector) === null) { // "while" что говорит о запуске цикла который будет выполняться пока утверждение верно
await rafAsync() // "await" сообщает о приостановке выполнения всего кода внутри функции до выполнения вызванной "rafAsync" (простая задержка описаная ранее)
}
return true;
}К
К
К
К
M
К
К
К
К
К
function timer() {
let i = 0;
return new Promise((res) => setInterval(() => res(i++), 1000)
}
К
ON

$x, $y) и свойство объекта data (data.x, data.y)j
j
j
ON
M