嵌套的observables订阅

时间:2016-11-21 16:08:25

标签: angular rxjs observable angularfire2

我有以下代码:

getUsers() {
    this.af.database.list(DB_URL)
    .map((users) => {
      return users.map((user) => {
        user.data = this.af.database.object(DB_URL_2).take(1);
        return user;
      });
    })
    .take(1)
    .subscribe((itemPrefs) => {
      this.users = users;
    })
  }

返回users数组,其中user.data是可观察的(用户信息)。

如何将user的数据作为对象返回而不是作为可观察对象?我试图订阅我的user.data,但它仍然返回了observable:

return users.map((user) => {
            user.data = this.af.database.object(DB_URL_2).take(1)
.subscribe((data) => {
return data;
});
        return user;
      });

1 个答案:

答案 0 :(得分:1)

我认为selectMany应该这样做, selectMany(RxJS4) mergeMap(RxJS 5)的每个内部函数都会返回{{1}那将会变平。这意味着它将确保所有内部observable变平。

<强>代码

data