嵌入查询RxJs的人口

时间:2016-09-15 13:43:03

标签: javascript angular rxjs rxjs5 reactive-extensions-js

我无法弄清楚如何解决以下问题。

有一个对象类型:

Box { 
    Fruit[n]: {
      Kinds[n]: {  
        id: string;
        name: string;
      }
    }
}

我从一个API调用中获取了一系列fuits作为Observable(Angular2)[Fruit []]然后我想填充它的"导航属性"使用另一个API调用返回一个可观察的内容,如:

  Box.foreach(fruits =>
       fruits.foreach(f => 
           f.kinds.foreach(k => 
                k.name = kindservice.getKindName(k.id) // <- observer
    )))

如何使用RxJs进行操作?

我尝试了很多方法,有很多映射器,但我还想不通。 我也使用了Observable.from(..),但没有运气。

谢谢

1 个答案:

答案 0 :(得分:2)

你最内在的循环有两个问题:

  1. 您将观察者分配给值。
  2. 你的观察者保持冷静。
  3. 尝试将其更改为:

     Box.foreach(fruits =>
           fruits.foreach(f => 
               f.kinds.foreach(k => 
                    kindservice.getKindName(k.id).subscribe(name => k.name = name)
        )))