Класс GuestExecutorApplied

GuestExecutorApplied на GitHub

Иногда нам нужно контроллировать не значение, которое приходит гостю, а процесс передачи значения, например если мы хотим применить к гостю функцию debounce или функцию throttle, чтобы снизить количество срабатываний логики гостя.

Пример 1.

import { Guest, GuestExecutorApplied, sourceOf } from "patron-oop";

  const guest = new Guest((value) => {
    document.querySelector(
      ".guest-result"
    ).textContent = `value is ${value}`;
  });

  sourceOf(40).value(
    new GuestExecutorApplied(guest, (guestFn) => {
      return v => {
        setTimeout(() => {
          guestFn(v);
        }, 5000)
      }
    })
  );

Результат 1.

Результат через 5 сек...