Node.js не имеет встроенного механизма для параллельного запуска l oop. Вам нужно будет найти модуль, который уже может это сделать, или вручную создать свой собственный итератор, который запускает workerThread для каждого вызова l oop (или использовал пул потоков), а затем сообщать результаты из workerThread.
Если бы я выполнял вашу l oop и мне нужно было выполнять несколько синхронных операций Process(item)
параллельно, я бы, вероятно, создал бы рабочую очередь и пул работников, обслуживающих очередь, и я бы дал обещание возвращая обертку около Process()
. Внутри этой обертки он добавит ее в workQueue, зарегистрирует обратный вызов в очереди для завершения, а затем, когда он завершит, разрешит возвращенное обещание. Затем вы должны использовать Promise.all()
, чтобы собрать все результаты по порядку. Внутри workQueue у вас будет набор работников, которые отбирают элемент из очереди, запускают его в отдельном потоке, затем сообщают результат, затем получают следующий элемент и т. Д.