Обещания нативного Javascript ES5/ES6
Я пытаюсь импортировать данные, которые имеют рекурсивные отношения, и поскольку база данных (mongodb) назначает идентификаторы, родитель должен быть загружен (асинхронно), прежде чем его дети могут быть загружены (также асинхронно).
Например, Задача B в этом списке задач.
Задача A — Некоторый процесс
Задача B — рекурсивная асинхронная загрузка (обход в первую очередь)
Задача C — зависит от задачи B
Обратите внимание, что задача C не может быть запущена до тех пор, пока не будет завершена задача B. Я предполагаю, что необходимо построить цепочку обещаний, которая не завершится, пока она не будет выполнена.
Предположим, что строящаяся цепочка будет выглядеть примерно так: (у дерева только 1 голова)
promiseParent.then(Promise.all(childrenPromises.then(Promise.all(grandChildrenPromsies.then(....)))))
Я предполагаю, что это будет проходить как очередь в ширину (предпочтительно, я хотел бы попытаться избежать использования структуры данных очереди, если это возможно)
Я нашел, что это было трудно взломать. Любые предложения или решения?
taskA.then(function() { return taskB() }).then(...
- person adeneo   schedule 09.03.2016