相关疑难解决方法(0)

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)
  );
Run Code Online (Sandbox Code Playgroud)

我试图订阅使用2个observable的结果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');
  });
Run Code Online (Sandbox Code Playgroud)

我实际上要做的是提高以下代码的性能:

//Subscription 3: role ID to role Name
        af.database.object('/roles/'+businessRole.$value) …
Run Code Online (Sandbox Code Playgroud)

observable rxjs rxjs5 angularfire2 angular

16
推荐指数
5
解决办法
2万
查看次数

标签 统计

angular ×1

angularfire2 ×1

observable ×1

rxjs ×1

rxjs5 ×1