Я строю трубопровод (с nodeJS), и я наткнулся на случай, если я не знаю, как лучше всего решить:несколько объектов в асинхронном трубопровода
Трубопровод:
collect
=>clean
= >merge
collect
будет извлекать много ресурсов и, когда это будет сделано, передать его clean
. Проблема в том, что вывод collect
- это список, но вход clean
- это отдельный элемент.
Дело в том, что clean
не нужно знать, что мы обрабатываем список предметов, ему нужно только очистить один элемент и вернуть его. Также полный список элементов станет очень большим, поэтому простое решение итерации их в clean
даже не выполнимо.
Может ли кто-нибудь указать на шаблон дизайна для этого случая?
Я думаю, вы могли бы использовать потоки Node.js для этого. Это было бы хорошо, если бы данные поступали из сбора по частям. Или вы можете использовать RabbitMQ или другую очередь для этого. Если вы предоставите некоторый код, было бы легче найти правильное решение. –
Я продолжаю возвращаться к потокам, я буду исследовать больше. Тем временем я придумал концепцию «декоратора»: https://github.com/lipsumar/promise-pipeline/blob/master/index.js – lipsumar