BACK
Referenceexpand
Reference · 64

expand

Рекурсивно проецирует каждое значение в следующий Observable.

Сигнатура

expand(project: (value: T, index: number) => ObservableInput): OperatorFunction

Что делает

Каждое значение проходит дальше и одновременно передаётся в project. Результаты project снова проходят через expand, пока вы сами не вернёте EMPTY/конечный поток.

Когда использовать

Пагинация до конца, обход дерева/графа, повторное получение следующей страницы по cursor.

Подводный камень

Без условия остановки expand легко создаёт бесконечный поток.

См. также

mergeMap, EMPTY

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...