увелить значение count, но из-за того, что запрос асинхроный он не успевал увеличивать значение и сказали, что нужно сделать замыкание, сделал, значение увеличвается, а данные от сервера не добавляются в блок .box__content, но они приходят.
И еще, почему срабатывает оба ответа, ответ с ошибкой срабатывает, то есть выводится то, что есть в catch и срабатывает, то, что в then
Кстати как называются then и catch, колбэки?)
Код:
window.onscroll = (function(){
var count = 24;
return function(){
var scrollTop=document.documentElement.scrollTop;
var scrollHeight=document.documentElement.scrollHeight;
var clientHeight=document.documentElement.clientHeight;
var result = scrollHeight - clientHeight;
if(scrollTop == result){
axios.post('api/ajax',{
count: count
}).then((response) =>{
console.log('Все правильно: '+ response);
count = count + 24;
var html = '';
var result = document.querySelector('.box__content');
response.data.films.forEach((item)=>{
html += '<div class="content">'+
'<a href="movie/'+item.name_eu+'/'+item.type+'/'+item.id+'" title="'+item.name_ru+'">'+
'<div class="content__img">'+
'<img src="'+item.thumbnail+'" alt="'+item.name_ru+'">'+
'</div>'+
'<div class="content__box">'+
'<div class="content__box__name">'+
'<b>'+item.name_ru+'</b>'+
'/'+
'<i>'+item.name_eu+'</i>'+
'</div>'+
'<div class="content__box__down">'+
'<div class="content__box__down__right">'+
'просмотров: '+item.views+''+
'</div>'+
'<div class="content__box__down__left">'+
'рейтинг: '+item.rating+''+
'</div>'+
'</div>'+
'</div>'+
'</a>'+
'</div>';
});
result.innerHTML += html;
}).catch((error) =>{
console.log('Ошибка: '+error.response);
});
console.log(count)
}
}
})();
Не надо это говно в чат. Для этих целей есть gist
Жесть, заюзай шаблонизатор, не надо руками хтмл генерить из строк
не думал, что резолвить фетч лучше чисто подставнокой текста, а не целый шаблон пилить внутрь?
Какие тебе замыкания ?когда ты переменные не умеешь использовать
кровь с глаз
Обсуждают сегодня