Angular - 将 Observable<number> 转换为数字

Angular - Convert a Observable<number> to a number

我正在使用 ngrx 存储来记录状态,我的状态当前保存着我的帐户列表和当前页面(用于分页)。

在我的帐户列表组件中,我调用商店以获取当前页面并将其传递给服务(网络 api)以获取帐户列表。

this.currentPage$ = this.store.select(getCurrentPage);

我的 angular 服务需要一个变量 (currentPage) 但作为一种数字类型,商店 select returns 一个 Observable。

getListOfCustomer(currentPage: number): Observable<ListDto<CustomerList>> {}

我的变量this.currentPage$目前是Observable<number>

的类型

我怎样才能转换一个 Observable<number>number 以将其传递给我的服务?

订阅以获得数字结果:

let currentPageSub :Subscription;
...
this.currentPageSub = this.store.select(getCurrentPage).subscribe(
 (page: number) => {
     this.currentPage$=page;
 }
);

您可以创建异步函数并将可观察对象转换为承诺并等待它

async method(){
    var pageNr = await this.currentPage$.toPromise();
    this.getListOfCustomer(pageNr);
}