1:07 - Простой пример обертки 6:03 - Пример с колбеками 12:21 - Пример с асинхронностью на колбеках 20:38 - Обертка интерфейса 28:00 - Обертки над таймаутами 35:25 - Обертка позволяющая вызвать функцию только 1 раз 37:16 - Обертка ограничивающая вызов n количеством раз 38:05 - Cancelable обертка 39:02 - Реализация универсального врапера 42:48 - Оптимизированная реализация универсального враппера 44:00 - Дросселирование функции 58:30 - Обобщение
Спасибо! Видео классное. Это еще необходимо книгу писать Вам. Да еще динамическую (в гите) потому как технология меняется и примеры могут совершенствоваться... По книге с разбором примеров тоже можно ориентироваться и изучать как подготовка к экзамену.
12:04 Для тех кто питался сделать домашку и так и не смог решить или хочет сравнить свое решение с чужими, оставляю ниже свое решение const wrap = (before, after, f) => { const wrapped = (...args) => { Object.defineProperty(wrapped, 'length', { value: args.length }); return after(f(...before(...args))); } return wrapped; } Было бы интересно увидит ваши решении, если они отличаются😇
Там в Throttle в функции ft аргумент который в settimeout приколочен гвоздями. Если мы сделаем его изменяемым и изменим через допустим 100 МС в другом setTimeOut То не попадёт он в наш callback при следующем вызове функции, а останется тот, первый, и останется навсегда.
1:07 - Простой пример обертки
6:03 - Пример с колбеками
12:21 - Пример с асинхронностью на колбеках
20:38 - Обертка интерфейса
28:00 - Обертки над таймаутами
35:25 - Обертка позволяющая вызвать функцию только 1 раз
37:16 - Обертка ограничивающая вызов n количеством раз
38:05 - Cancelable обертка
39:02 - Реализация универсального врапера
42:48 - Оптимизированная реализация универсального враппера
44:00 - Дросселирование функции
58:30 - Обобщение
Спасибо! Видео классное. Это еще необходимо книгу писать Вам. Да еще динамическую (в гите) потому как технология меняется и примеры могут совершенствоваться... По книге с разбором примеров тоже можно ориентироваться и изучать как подготовка к экзамену.
Спасибо вам Тимур Гафарович!
Огромное спасибо за полезнейший контент)!
12:04 Для тех кто питался сделать домашку и так и не смог решить или хочет сравнить свое решение с чужими, оставляю ниже свое решение
const wrap = (before, after, f) => {
const wrapped = (...args) => {
Object.defineProperty(wrapped, 'length', {
value: args.length
});
return after(f(...before(...args)));
}
return wrapped;
}
Было бы интересно увидит ваши решении, если они отличаются😇
Там в Throttle в функции ft аргумент который в settimeout приколочен гвоздями.
Если мы сделаем его изменяемым и изменим через допустим 100 МС в другом setTimeOut
То не попадёт он в наш callback при следующем вызове функции, а останется тот, первый, и останется навсегда.
Спасибо огромное!
Классная лекция!!!
Спасибо!
Как аргументы f функции попадают в первый return (...args)?
const wrap = (f) => (...args) f(...args)
Спасибо!