Предназначен для подписки на отложенное значение не только но и
Полезным это поведение может быть в случаях, когда значение заранее не известно, но пришедший посетитель в случае если он гость не должен быть проигнорирован, а должен получить первое установленное значение, после чего все гости из пула удаляются, а все патроны остаются внутри PatronPool
Пример 1.
import { GuestPool } from 'patron-oop';
class ValueAfterDelay {
constructor(theValue, delay) {
this.theValue = theValue;
this.delay = delay;
this.pool = new GuestPool();
}
value(guest) {
this.pool.add(guest);
setTimeout(() => {
this.pool.give(this.theValue);
}, this.delay);
}
}
const fnGuest = (value) => {
document.querySelector('.guest-result').textContent = value;
}
new ValueAfterDelay(42, 5000).value(fnGuest);
Результат 1.