角度 - 转换可观察量 一个数字

问题描述 投票:1回答:2

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

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

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

我的角度服务期望变量(currentPage),但作为一种数字,store select返回一个Observable。

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

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

我如何将Observable<number>转换为number将其传递给我的服务?

angular typescript ngrx ngrx-store
2个回答
5
投票

订阅获取结果为数字:

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

0
投票

您可以创建异步函数并将observable转换为promise并等待它

async method(){
    var pageNr = await this.currentPage$.toPromise();
    this.getListOfCustomer(pageNr);
}
© www.soinside.com 2019 - 2024. All rights reserved.