我有一个数组,我需要使用这个数组的非常单一的数据集发出单个请求。我发现难以解决的问题是如何安排呼叫。意味着,只有当一个请求完成时,下一个请求才会开始。我正在寻找一个RxJs队列,但我不能简单地找到解决方案。 示例: function makeRequest(body): Observable<any> {
return someAsyncRequest(body);
}
array.forEach((entry) => {
makeRequest(entry);
});
// This is just an example how the setup is
我有以下代码
const mySource:Observable<Observable<any>[]>
(...)
mySource.pipe(
switchMap(arr=>forkJoin(arr));
)
其工作方式与预期一致,但是
mySource.pipe(
switchMap(forkJoin);
)
失败,错误为
REST error TypeError: You provided '0' where a stream was expected. You can provide an Observable, Promi
我似乎不知道如何组合两个可观察的数组。这是使用角6,rxjs 6.3.2
示例代码:
var arrayOfUsers = this.httpCallToGetObservableArrayOfUsers();
var anotherArrayOfUsers = this.httpCallToGetADifferentArrayOfUsers();
//how do I combine these two Observable<User[]>?
提前感谢
我有一个ngrx存储,包含多个状态。我试图通过收集每个状态的数据来构造一个对象(Rent对象):下面是我的代码:
ngOnInit() {
//Fetch the rent and its properties data
const rentID = +this.route.snapshot.params['id'];
let rentState$ = this.store.select('rentState');
let clientState$ = this.store.select('clientState');
如何在rxjs中为forkJoin的每个可观察对象命名空间
例如
Observable.forkJoin([observable1, observable2])
会是这样的
// This does not work
Observable.forkJoin({'1': observable1, '2': observable2})
在下面的代码中,我需要等待一些服务器调用来初始化作为类属性缓存的对象。在研究这个问题时,我发现了几个问题,它们询问如何等待多个订阅。我选择的答案是使用forkJoin,如下所示。然而,我只是在拖延时间。现在我需要等待forkJoin。我该怎么做?我正在做的项目不是异步的,我不能去重写它。 //问题2 从理论上讲,我可以让构造函数成为私有的,并创建一个静态工厂方法--然而,我认为我再一次踢开了罐子,因为我没有机制或地方来等待异步工厂方法。如果我采用这种方法,我如何告诉Angular DI机制a)等待工厂方法,b)注入实例(providedIn‘根’只说创建一个单例-不允许我实际创建实例)。 e