Size: a a a

JavaScript — русскоговорящее сообщество

2020 June 18

М★

Михаил ★ in JavaScript — русскоговорящее сообщество
Кирилл mrDoode
Всем привет
Знает кто, что за хак, использование debounce с параметром 0ms?
могли сначала использовать ненулевую задержку, потом не нужно стало, лень переписывать
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
Oleg Kislitsyn
где такой код написан?
На одном сайте, с которым я работаю
var changeURL = debounce(function() { ... }, 0);
$(window).scroll(changeURL);

Вот так выглядит, если быть конкретнее
источник

OK

Oleg Kislitsyn in JavaScript — русскоговорящее сообщество
Кирилл mrDoode
На одном сайте, с которым я работаю
var changeURL = debounce(function() { ... }, 0);
$(window).scroll(changeURL);

Вот так выглядит, если быть конкретнее
А debounce самописный или из lodash?
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
Oleg Kislitsyn
А debounce самописный или из lodash?
Хороший вопрос, оказалось, что самописный. Я думал, что это встроенная функция жс
источник

OK

Oleg Kislitsyn in JavaScript — русскоговорящее сообщество
Кирилл mrDoode
Хороший вопрос, оказалось, что самописный. Я думал, что это встроенная функция жс
Просто у lodash описано зачем передавать 0. А что там в самописном – фиг знает https://lodash.com/docs/#debounce
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
function debounce(func, wait, immediate) {
 var timeout;
 return function() {
   var context = this, args = arguments;
   var later = function() {
     timeout = null;
     if (!immediate) func.apply(context, args);
   };
   var callNow = immediate && !timeout;
   clearTimeout(timeout);
   timeout = setTimeout(later, wait);
   if (callNow) func.apply(context, args);
 };
}
источник

М★

Михаил ★ in JavaScript — русскоговорящее сообщество
Кирилл mrDoode
Вот и думаю, зачем такая конструкция нужна
есть такой древний фреймворк ангуляржс, так вот тама постоянно приходилость заворачивать блоки кода в нулевой таймаут
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
Михаил ★
есть такой древний фреймворк ангуляржс, так вот тама постоянно приходилость заворачивать блоки кода в нулевой таймаут
А для чего этот хак нужен, кстати?
источник

М★

Михаил ★ in JavaScript — русскоговорящее сообщество
Кирилл mrDoode
А для чего этот хак нужен, кстати?
ну конкретно там не срабатывала реактивность, короч хрень
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
Гык
Ладно, вижу, что тут тоже просто какой-то костыль судя по всему
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
Видимо, чтобы при прокрутке колеса, чтобы ограничить количество вызовов функции
источник

М★

Михаил ★ in JavaScript — русскоговорящее сообщество
убери, попробуй напрямую
источник

M

MVD in JavaScript — русскоговорящее сообщество
Как мне поня ть что мою функцию хотят вызвать с new и выбросить ошибку?
new F() -> error
F() -> success
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
MVD
Как мне поня ть что мою функцию хотят вызвать с new и выбросить ошибку?
new F() -> error
F() -> success
источник

М★

Михаил ★ in JavaScript — русскоговорящее сообщество
MVD
Как мне поня ть что мою функцию хотят вызвать с new и выбросить ошибку?
new F() -> error
F() -> success
может
function F(){if (!(this instanceof F)) console.log('error'); ...}
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
там кейсы описывают
источник

S

Sm•ok 😈✔️ in JavaScript — русскоговорящее сообщество
повесили доп проверки
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
Кирилл mrDoode
А для чего этот хак нужен, кстати?
не знаю для чего это в ангуляре, но я всегда подобным образом поступаю (правда через raf), когда вызываю метод из метода при выходе, что-бы не раздувать стак.
источник

Кm

Кирилл mrDoode in JavaScript — русскоговорящее сообщество
Konstantin Sedykh
не знаю для чего это в ангуляре, но я всегда подобным образом поступаю (правда через raf), когда вызываю метод из метода при выходе, что-бы не раздувать стак.
Про ангуляр тут вообще ни слова))
источник

И

Иван in JavaScript — русскоговорящее сообщество
Konstantin Sedykh
не знаю для чего это в ангуляре, но я всегда подобным образом поступаю (правда через raf), когда вызываю метод из метода при выходе, что-бы не раздувать стак.
чтобы не раздувать стек?) херасе
источник