【问题标题】:Getting data undefined when subscribing a service in angular 6在 Angular 6 中订阅服务时获取未定义的数据
【发布时间】:2018-06-30 12:05:28
【问题描述】:

订阅此服务时我收到未定义的数据
我可以在服务中返回值吗

--- service.ts 文件

return this.restService.get(url, null, headers).map(data => {

       data.forEach(element => {
        if (element.key === 'List') {
          console.log(element.value);
          return element.value;
        }
      });
    });

--- 组件.ts

this.productService.getProducts().subscribe(data => {

       Console.log(data)  // giving undefined here  
     }
 });

【问题讨论】:

  • 您的代码无法编译。发布编译和重现问题的实际代码。
  • 什么是JSON数据来的?

标签: angular typescript rxjs5


【解决方案1】:

传递给map() 的函数回调永远不会返回任何内容。

应该是

return this.restService.get(url, null, headers).map(data => {
   const elementWithListKey = data.find(element => element.key === 'List');
   return element && element.value;
});

【讨论】:

    猜你喜欢
    • 2020-06-23
    • 1970-01-01
    • 2019-05-27
    • 2020-10-26
    • 2018-12-18
    • 2018-07-21
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    相关资源
    最近更新 更多