2

我经常发现我用 flatmap 链接多个 http 请求,但有时我需要将结果比下一个 observable 更远。我该怎么做呢?

外汇:

getAPIKey().flatMap( {key in 
    return getData1(key)
})
.flatMap({ (key, data) in 
   return getData2(key, data)
})
.map({ data in
   data.transform()
})
.subscribe(onNext: { transformed in
//Do something with data
})

这不是真实的例子,所以不要陷入语义。

4

1 回答 1

2

所以我还在 Slack 上为 RxSwift 发布了这个问题。

这是我从 Zsolt Váradi (vzsg) 那里得到的回复

getFoo().flatMap { foo in
    getBars(ofFoo: foo.id).map { bars in (foo, bars) }
}

希望这可以帮助别人

于 2018-05-02T10:31:44.330 回答