对于RxJ来说是相当陌生的东西,他试图将正确的模式包裹在脑海中,以简单地创建一个Observable数组Observable。
我想检索用户帖子列表。帖子本身应该是Observables,我想将它们全部保留在Observable数组中,以便在数组更改时,应通知调用代码并更新订阅到帖子“列表”的任何内容。这很简单,但是我也希望每个帖子都是可观察的,因此,如果我从中检索特定的帖子[i],那么我也应该能够订阅这些单独的对象。 正确的方法是什么?
我正在使用Angular 9,我有:
public getPosts(): Observable<Array<Post>> {
return new Promise((resolve, reject) = {
let posts: Observable<Array<Post>> = new Observable<Array<Post>>();
this.get<Array<Post>>('posts').subscribe(r => {
posts = from(r);
return resolve(posts);
});
});
}
这给了我一个Observable>,但是我应该如何创建Observable >>? 这是反模式吗?
It all comes to convenience, if your server serves you differential data of what changed in post, then go ahead and create
Observable<Observable<Post>[]>
.In your post, however, there are multiple problems. You cannot mix
Observables
withPromises
. The methodgetPosts
will return only the first post you get from API.这是要求的解决方案,但我不确定,这是您真正想要的...