0

我不知道如何解决以下问题。

有一个对象类型:

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

我从 API 调用中得到了一盒作为 Observable (Angular2) [Fruit[]] 的 fuits,然后我想用另一个 API 调用填充它的“导航属性”,它会返回一个 observable,例如:

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

我怎样才能用 RxJs 做到这一点?

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

谢谢

4

1 回答 1

2

您最内层的循环有两个问题:

  1. 您将观察者分配给一个值。
  2. 你的观察者保持冷静。

尝试将其更改为:

 Box.foreach(fruits =>
       fruits.foreach(f => 
           f.kinds.foreach(k => 
                kindservice.getKindName(k.id).subscribe(name => k.name = name)
    )))
于 2016-11-01T10:48:58.970 回答