169 похожих чатов

Всем привет еще раз. Как правильно делать замыкание? Нужно было

увелить значение 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)
}
}
})();

5 ответов

15 просмотров

Не надо это говно в чат. Для этих целей есть gist

Жесть, заюзай шаблонизатор, не надо руками хтмл генерить из строк

не думал, что резолвить фетч лучше чисто подставнокой текста, а не целый шаблон пилить внутрь?

Какие тебе замыкания ?когда ты переменные не умеешь использовать

кровь с глаз

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта