У меня есть 2 наблюдаемых, и мне нужно получить каждую наблюдаемую информацию только один раз.Получить данные один раз из 2 наблюдаемых
То, что я сделал, это подписка внутри подписки, хотя они могут выполняться в одно и то же время (параллельно).
let table = this.af.database.object('tables');
table.subscribe((tableData) => {
let section_seats = this.af.database.object('sections').take(1)
.subscribe((sectionData) => {
//Here I'm Using tableData & sectionData
});
});
Код выше отлично работает, но они не выполняются в одно и то же время, хотя они могут.
Как я могу выполнить оба наблюдаемых в одно и то же время, а затем использовать данные, полученные от них обоих?
Update: Использование forkJoin() ничего не делает (не консоль журнала из следующего кода)
var source = Observable.forkJoin(
this.af.database.object('tables'),
this.af.database.object('sections')
);
var subscription = source.subscribe(
function (x) {
console.log('Next: %s', x);
},
function (err) {
console.log('Error: %s', err);
},
function() {
console.log('Completed');
});
Вы сделали какие-либо исследования по этому вопросу? Как насчет https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/forkjoin.md – jonrsharpe
Когда я использую forkJoin, ничего не выполняется, я не знаю, почему .. – TheUnreal
'forkJoin' - это то, что вы хотите, пожалуйста, предоставьте код. Вы подписались? –