Задать вопрос
@TyllerDurden

Как выполнять код последовательно?

Здравствуйте. Пишу подгрузку постов при скролле до последнего. Код выглядит следующим образом, все лишнее убрал:

let articles = document.querySelectorAll('.main-content .article');
let articleLast = articles[articles.length - 1]; //получаем последний пост

if(pageYOffset >= articleLast.getBoundingClientRect().height){ //и когда скроллим до него..
 //содержимое успевает выполниться несколько раз, а нужно, чтобы только один
});


Когда доскролливаю до последнего загруженного поста, то происходит подгрузка других постов. Но проблема в том, что вместо одного запроса к бд происходит несколько. Т.к. пока новый последний пост не подгружен, и скролл продолжается, то условие выполняется, а потому он подгружает снова и снова, пока не выполнится первый запрос. Что здесь можно предпринять?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
if (requestInProgress) {
  return;
}
requestInProgress = true;
const data = await fetch(...);
// отображаем данные
requestInProgress = false;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы