首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将可观测数据转换为角7中的数字或字符串

将可观测数据转换为角7中的数字或字符串
EN

Stack Overflow用户
提问于 2019-03-11 06:32:49
回答 1查看 1.6K关注 0票数 2

这个问题可能已经回答了,但我还是想不出解决问题的办法:Angular-convert-a-observablenumber-to-a-numberhow-to-convert-observable-data-to-a-number-in-angular6

我试图使用长度,下一个和prev变量。这些变量被定义为:

代码语言:javascript
复制
let length = this.http.get<Project[]>(this.projectUrl).pipe(map(res => res['count']));
let next = this.http.get<Project[]>(this.projectUrl).pipe(map(res => res['next']));
let prev = this.http.get<Project[]>(this.projectUrl).pipe(map(res=> res['previous']));

我必须将这些变量输入数字,这将使我能够编写自定义分页函数。我尝试使用<>关键字输入它们,如下所示(尽管这不是一种明智的方法):

代码语言:javascript
复制
private length0 = <unknown> this.http.get<Project[]>(this.projectUrl).pipe(map(res => res['count']));
public length1 = <number> this.length0;

private next0 = <unknown> this.http.get<Project[]>(this.projectUrl).pipe(map(res => res['next']));
public next1 = <string> this.next0;

private prev0 = <unknown> this.http.get<Project[]>(this.projectUrl).pipe(map(res=> res['previous']));
public prev1 = <string> this.prev0;

但是当我检查我的控制台时,这些仍然是可观察的()类型。

有人能建议我如何把这些变量输入数字吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-11 06:52:41

在这种情况下,您可以使用async / await将可观察到的承诺转换为

代码语言:javascript
复制
let length = await this.http.get<Project[]>(this.projectUrl).pipe(map(res => res['count']))toPromise();

您需要添加异步以使用“等待” [让长度=等待this.http.get(this.projectUrl).pipe(map(res => res‘’count‘))toPromise();}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55096330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档