горные потоки находят дизъюнктивный союз двух потоков? - PullRequest
0 голосов
/ 01 мая 2020

Это работает для меня. Однако мне было интересно, есть ли более «потоковый / высокогорный» способ выполнить sh this?

Я вытягиваю объекты с value: 'VALUE1' и value: 'VALUE2' и получаю список всех requiredId s из 'VALUE1' объектов, которые не имеют соответствующей записи с тем же requiredId, но значением 'VALUE2'

Редактировать: известно, что setB является подмножеством setA.

        const _ = require('highland');

        ...

        const allObjectsStream = _(allObjects)
            .where({ subset: 'subsetValue' })

        const setAStream = allObjectsStream.fork();
        const setBStream = allObjectsStream.fork();

        const setAPromise = setAStream
            .where({ value: 'VALUE1'})
            .pluck('requiredID')
            .collect()
            .toPromise(Promise);

        const setBPromise = setBStream
            .where({ value: 'VALUE2'})
            .pluck('requiredID')
            .collect()
            .toPromise(Promise);

        const [As, Bs] = await Promise.all([setAPromise, setBPromise]);
        const onlyInA = As.filter(x => !Bs.includes(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...