Класс PatronExecutorApplied под капотом использует GuestExecutorApplied, только является патроном.
Полезен когда мы работаем с источниками данных обладающими пулом патронов, которые могут присылать новые значения.
Пример 1.
import { Guest, PatronExecutorApplied, Patron, SourceWithPool } from "patron-oop";
window.source = new SourceWithPool(20);
const loadingSource = new SourceWithPool('');
const guest = new Guest((value) => {
document.querySelector(
".guest-result"
).textContent = `value is ${value}`;
});
loadingSource.value(new Patron(guest));
window.source.value(
new PatronExecutorApplied(guest, (guestFn) => {
return v => {
loadingSource.give('Загрузка...');
setTimeout(() => {
guestFn(v);
}, 5000)
}
})
);
Результат 1.