Observable.forkJoin () не выполняется

У меня есть следующий код:

//Loop: For each user ID/Role ID, get the data
userMeta.forEach((businessRole) => {
  Observable.forkJoin(
    af.database.object('/roles/'+businessRole.$value),
    af.database.object('/users/'+businessRole.$key)
  ).subscribe(
    data => {
      console.log("Data received");
      data[1].role = data[0];
      this.users.push(data[1]);
    },
    err => console.error(err)
  );

Я пытаюсь подписаться на результат 2 наблюдаемых с помощьюforkJoin.

По некоторым причинам сообщение «Данные получены» не отображается.

мойuserMeta переменные выглядят нормально в console.log:

В чем дело?

Обновление: следующий код тоже ничего не возвращает

let source = Observable.forkJoin(
        af.database.object('/roles/'+businessRole.$value),
        af.database.object('/users/'+businessRole.$key)
    );
    let subscription = source.subscribe(
      function (x) {
    console.log("GOT: " + x);
  },
  function (err) {
    console.log('Error: %s', err);
  },
  function () {
    console.log('Completed');
  });

То, что я на самом деле пытаюсь сделать, это улучшить производительность следующего кода:

//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 => {

Ответы на вопрос(1)

Ваш ответ на вопрос