首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角服务:承诺返回奇怪的结果

角服务:承诺返回奇怪的结果
EN

Stack Overflow用户
提问于 2021-03-14 13:16:37
回答 1查看 38关注 0票数 1

我正在努力设计正确的角度服务。用例:

在角分量中,我将调用一个服务,该服务应该返回我想要转换的数据,如下所示:

代码语言:javascript
复制
  private async getEntities() {
    
    let req = { condition1: this.condition1, condtion2: this.condition2 }
    let result = await this.EntityService.findByConditions(req);

  }

相应的服务调用如下:

代码语言:javascript
复制
public findByConditions(requestBody) {
    return this.http.post<any>(API_URL + "/fancyEndpoint", requestBody).toPromise().then(response => 
                {console.log(response) }).catch(error => console.log(error));
 }

我的后端以正确的方式返回这些对象的列表,但是前端日志中的结果如下:

因此,由于我对角度和前沿发展非常陌生,所以我有以下问题:

  1. 如何可能,只返回一个元素作为实际对象,而所有其他元素都由数据库is表示?
  2. --在呈现之前获取需要转换的数据的最佳实践是什么(例如:从端点调用数据,从这里构建一个ChartJs图表(我们必须等待可观察/承诺完成),然后将其呈现给HTML)?

很抱歉,这个长期的问题,我是新的前端开发和寻找最佳实践的解决方案。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-03-14 13:54:33

这里有两个选项,一个是根据请求正文中发送的params过滤后端的数据,第二个选项是获取所有数据,然后使用管道过滤掉数据并返回UI中所需的数据,还可以使这个管道接收params,并使其更加通用。

这是一个关于如何使用角度管道的链接。https://angular.io/guide/pipes

关于如何使用HTTPS模块和热调用后端的更多示例如下:https://angular.io/tutorial/toh-pt6

在两个单词中,管道类似于您在map中拥有的filterJavascript实用程序,所以在将日期返回到UI组件之前,您可以对其进行过滤。

代码语言:javascript
复制
a dummy example

1. getUserByAge()
2. getUserByLocation()

return this.service.getUsers().pipe( users => getUserByAge(users))

因此,在这里,您将所有数据输送到一些utils函数,然后进行过滤,例如user.age > 18或使用getUserByLocation,您只过滤来自美国的用户。

文档是您的朋友,所以大多数时候您会在那里找到任何需要的东西。

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

https://stackoverflow.com/questions/66624954

复制
相关文章

相似问题

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