Предназначен для объединения результатов из нескольких в один источник
Полезное поведение в случаях, когда есть множество источников данных, на основе которых нужно принимать решение в момент, когда все источники отдадут свои данные
Пример 1.
import {
Source,
SourceAll
} from 'patron-oop';
const one = new Source(1);
const two = new Source(2);
const all = new SourceAll();
one.value(all.guestKey('one'));
two.value(all.guestKey('two'));
all.value(({one, two}) => {
document
.querySelector('.guest-result')
.textContent = `Результат = ${one + two}`;
});
Результат 1.
Также предусмотрена возможность собрать результаты в массив а не объект.
Пример 1.
import {
SourceWithPool,
SourceAll
} from 'patron-oop';
const one = new SourceWithPool(1);
const two = new SourceWithPool(2);
const all = new SourceAll();
one.value(all.guestKey('0'));
two.value(all.guestKey('1'));
all.valueArray((numbers) => {
document.querySelector('.guest-result-array').textContent = `Результат = ${numbers}`;
});
Результат 1.