У меня есть следующий код:Угловой 2 - подписка Run 2 в то же время
//Subscription 3: role ID to role Name
af.database.object('/roles/'+businessRole.$value)
.subscribe((roleData) => {
//Subscription 4: Get user info
af.database.object('/users/'+businessRole.$key).subscribe(user => {
который содержит подписку внутри подписки.
Проблема в том, что приложение ожидает первого, прежде чем запускать второй. Я хочу выполнить оба из них за один раз и получить результат каждого из них. Как я могу это сделать?
Я использую Promise.All()
раньше, но:
- Я хотел бы знать, как я могу сделать это с rxjs
- Я не мог найти способ, чтобы получить результат каждой наблюдаемой с использованием
Promise.All()
Благодаря
Как получить выходные данные для каждого наблюдаемого? 'val' - массив с каждым наблюдаемым выходом? – TheUnreal
@TheUnreal Оператор 'merge()' испускает значения из всех Observables, которые он получает как аргумент, поэтому вызывающий вызов в '.subscribe()' будет вызываться для каждого ответа. – martin
Это проблема, так как мне нужно получить и использовать вывод каждого из них, и с помощью этого метода «merge» я не могу определить, какой наблюдаемый будет загружен каждый вывод, не так ли? Например, мне нужно сохранить в переменной 'user' первые данные наблюдаемых и переменную' role' для второй. – TheUnreal