我正在尝试迭代我的一个HTTP get()调用。它不能正常工作。我不知道在Angular 6中如何在for循环中使用HTTP方法。另一个问题是,如果我省略了for循环,那么rxjs delay()函数将无法工作。
getRoleOftheUser() {
for ( let i = 0; i < this.arr.length; i++) {
return this.http.get<any>(`${this.baseURL}/aaa/groups/${this.arr[i]}/effectiveRolesByUser`)
.pipe(map(res => res) , delay(5000) ).subscribe(result => console.log(result));
}
}这不是异步javaScript问题。这都是关于rxjs循环的。有没有人可以指导我如何在Angular 6中迭代HTTP调用for loop?谢谢
发布于 2018-09-27 02:18:18
为什么不利用rxjs的功能呢?像这样的东西
import { of } from 'rxjs';
import { concatMap, delay } from 'rxjs/operators';
.
.
.
getRoleOftheUser() {
if (this.arr.length > 0)
of(...this.arr)
.pipe(
concatMap(item => this.http.get<any>(`${this.baseURL}/aaa/groups/${item}/effectiveRolesByUser`)),
delay(5000)
)
.subscribe(result => console.log(result));
}
.
.
.https://stackoverflow.com/questions/52523791
复制相似问题