Класс SourceAll

SourceAll на GitHub

Предназначен для объединения результатов из нескольких источников данных в один источник

Полезное поведение в случаях, когда есть множество источников данных, на основе которых нужно принимать решение в момент, когда все источники отдадут свои данные

Пример 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.

Результат = 0

Также предусмотрена возможность собрать результаты в массив а не объект.

Пример 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.

Результат = 0
Смотрите также

Source