Size: a a a

JavaScript Noobs — сообщество новичков

2020 June 01

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
туплю. задача - создать у класса метод, который будет вызываться n раз за  x времени.
throttle/debounce функции в библиотеках: я же не могу их использовать внутри класса для метода.

т.е. хочу что то типа того
class Test {
 test(data) {
    return _.debounce(some, 1000);
 }
 some(data) {
   log(data)
 }
}
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
условный код*
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
чёт не понимаю, как это написать, не добавляя в класс какую то переменную, в которой бы хранилось время между вызовами функции, что бы реализовать debounce
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
Глеб Щукин
туплю. задача - создать у класса метод, который будет вызываться n раз за  x времени.
throttle/debounce функции в библиотеках: я же не могу их использовать внутри класса для метода.

т.е. хочу что то типа того
class Test {
 test(data) {
    return _.debounce(some, 1000);
 }
 some(data) {
   log(data)
 }
}
Ты хочешь использовать в классе метод из библиотеки? Или я сам не понял
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
yandexphp
Ты хочешь использовать в классе метод из библиотеки? Или я сам не понял
lodash, underscore
там есть готовые реализации просто уже. думал с ними будет проще.
задача  - создать у класса метод, который будет вызываться не чаще n раз за  x времени.
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
но походу проще руками написать
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
А что за кейс такой? Не встречал такой задачи
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
я понимаю, как задать декоратор для конкретной функции, но как это в классе должно работать.
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
yandexphp
А что за кейс такой? Не встречал такой задачи
есть некий модуль. у него есть фассад с методом search(data)
задача затротлить вызов метода (внутри модуля). что бы снаружи в него долбятся search(data) 100 раз в секунду, а он отдавал результат раз в секунду
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
Глеб Щукин
туплю. задача - создать у класса метод, который будет вызываться n раз за  x времени.
throttle/debounce функции в библиотеках: я же не могу их использовать внутри класса для метода.

т.е. хочу что то типа того
class Test {
 test(data) {
    return _.debounce(some, 1000);
 }
 some(data) {
   log(data)
 }
}
тебе нужно в конструкторе перебиндить контекст метода
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
Anton Permyakov
тебе нужно в конструкторе перебиндить контекст метода
можно конкретнее? я выше пример кода написал, там в принципе без конструктора
источник

S

Sasha in JavaScript Noobs — сообщество новичков
Всем привет. Объясните, пожалуйста, как работает метод IndexOf(). Не понимаю, откуда эти значения берутся

var array = [2, 5, 9];
array.indexOf(2); // 0
array.indexOf(7); // -1
array.indexOf(9, 2); // 2
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
источник

O

Orian in JavaScript Noobs — сообщество новичков
-1 если ничего нет, если есть - индекс
источник

S

Sasha in JavaScript Noobs — сообщество новичков
Ну вот в предпоследнем и последнем примере есть двойка. Почему тогда -1 и 0 результат, а не одинаковый?
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
Глеб Щукин
есть некий модуль. у него есть фассад с методом search(data)
задача затротлить вызов метода (внутри модуля). что бы снаружи в него долбятся search(data) 100 раз в секунду, а он отдавал результат раз в секунду
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
наговнякал. как добавить "последний" вызов. сейчас типа если тыркать log слишком часто, то он всегда игнориться. но мне нужна логика, что бы последний вызов проходил, если после него не было другого "успешного" вызова
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
я мастер объяснений конечно
источник

S

Samson in JavaScript Noobs — сообщество новичков
Глеб Щукин
наговнякал. как добавить "последний" вызов. сейчас типа если тыркать log слишком часто, то он всегда игнориться. но мне нужна логика, что бы последний вызов проходил, если после него не было другого "успешного" вызова
можно таймер просто поставить, типа если таймер обнулен то запоминаешь то что должна функция вернуть, всегда возращаешь это значение и запускаешь таймер который обнулится через секунду
источник

l

llss in JavaScript Noobs — сообщество новичков
Доброго дня всем! Прошу пояснить по этому коду? почему консолиться 10?
источник

l

llss in JavaScript Noobs — сообщество новичков
let count = 0;
for (count = 0; count < 10; count ++) {
 setTimeout(()  => console.log(count), 0)
};
источник