注意。我仅限使用Angular
和RxJS
版本5 。 :-(
我想多次调用API,具体取决于我已经订阅的可观察对象中数组的值。该代码遵循以下逻辑:
this.api.doSomething()
.pipe(
tap(things => this.thingsArray = things),
// I want to call an API like this:
for(const thing of things) {
this.secondApi.getOtherThings(thing.id)
.pipe(
tap(otherthing => this.ExtendedThings.push ({...request, otherThingy: otherThing)
)
}
).subscribe()
我对如何在前端执行此操作感兴趣。我已经尝试过concat
,但是按照我的方式却没有任何subscribe
方法。我想我做错了。任何帮助将不胜感激。
答案 0 :(得分:1)
我认为这可能是您想要的。 Flatmap允许您使用一个Observable的结果来发出另一个请求。在这种情况下,我们将返回通过合并多个可观察对象而生成的可观察对象。
# /var/log/django_debug.log
"GET /docs/ HTTP/1.1" 200 1391207
"GET /docs/schema.js HTTP/1.1" 200 111440