尝试按顺序依次发布数组的http项。知道应该使用RxJS flatMap但无法使其工作。基本上我需要这样的东西:
item是名为items的数组的元素,想要遍历数组并发送每个项目。
this.http.post(url, item)
.subscribe(
(response) => {
// call the same http.post again to send the next item
},
(error) => {
this.app.error(error.json() as Error); // exit
}
)
感谢您的帮助。
答案 0 :(得分:2)
也许尝试concat
Rx.Observable.concat(...items.map(item => this.http.post(url, item)).subscribe(res => doSmthWithResponse());
答案 1 :(得分:0)
this.http.post(url, item).map(res => res.json())
switchMap(this.http.post(url1, item).map(res => res.json()))
答案 2 :(得分:0)
您可以尝试使用from和flatmap
Observable.from(items)
.flatMap(item => this.http.post(url, item))
.subscribe({
res => console.log("your response"),
error => console.log("your error"),
() => doSomethingAtEnd()
});