当前位置: 首页 > 知识库问答 >
问题:

如何从angular2中的可观测数据中获取数据

岳鸿畴
2023-03-14

我正在尝试使用rxjs

考虑以下代码

import { Component, Injectable, OnInit } from '@angular/core';
import { Http, HTTP_PROVIDERS } from '@angular/http';
import 'rxjs/Rx';

@Injectable()
class myHTTPService {
  constructor(private http: Http) {}

  configEndPoint: string = '/my_url/get_config';

  getConfig() {

    return this.http
      .get(this.configEndPoint)
      .map(res => res.json());
  }
}

@Component({
    selector: 'my-app',
    templateUrl: './myTemplate',
    providers: [HTTP_PROVIDERS, myHTTPService],


})
export class AppComponent implements OnInit {

    constructor(private myService: myHTTPService) { }

    ngOnInit() {
      console.log(this.myService.getConfig());
    }
}

每当我试图打印出getconfig的结果时,它总是返回

Observable {_isScalar: false, source: Observable, operator: MapOperator}

即使我返回一个json对象。

如何打印getConfig的结果?

共有3个答案

单于楚
2023-03-14
this.myService.getConfig().subscribe(
  (res) => console.log(res),
  (err) => console.log(err),
  () => console.log('done!')
);
贺刚毅
2023-03-14

angularjs 1.x中的angularjs基于observable而不是promise base,因此当我们尝试使用http获取数据时,它会返回observable而不是promise,就像您所做的那样

 return this.http
      .get(this.configEndPoint)
      .map(res => res.json());

然后,为了获取数据并在视图上显示,我们必须使用RxJs函数,如.map()函数和.subscribe()

.map()用于将可观测值(从http请求接收)转换为Angular官方网站中所述的任何形式,如.json(),.text()

.subscribe()用于订阅那些可观察到的响应,并将其放入某个变量中,以便将其显示在视图中

this.myService.getConfig().subscribe(res => {
   console.log(res);
   this.data = res;
});
蔡晨
2023-03-14

您需要订阅可观察的,并传递一个回调来处理发出的值

this.myService.getConfig().subscribe(val => console.log(val));
 类似资料:
  • 在组件中: 在init上,我可以观察到 如何获取当前值,如?

  • 问题内容: 这是我的类,用于从数据库中获取数据 这是我的文件: 当我运行该程序时,出现异常后,请帮助我如何解决它。我是Hibernate的新手,尝试学习但被卡住了。 虽然我能够将数据存储在数据库中,但我有2个用于第一和第二类的数据获取数据,但在获取数据时遇到了问题PLZ帮助。 问题答案: 让我引述一下: 据我所知,您正在使用表名。 所以应该是这样的:

  • 我有一张狗的名单,需要取一些数据。在一种情况下,我需要在列表中显示名称行,在其他情况下,我需要来自一只狗的全部或部分数据(名称、性别、速度)。我相当肯定我应该使用数组,尽管我是从字典开始的。我计划添加更多参数,并允许用户添加更多的狗,所以我试图找到最可扩展的选项

  • 我有一个包含玩家数据的数组。这个数组根据玩家的数量而变化。数组看起来像这样: 我只想从每个玩家的数组中获取玩家名。我该怎么做?输出应该是如下所示的字符串:我在Internet或YouTube上没有找到任何内容。答案当然简单明了,但我还没有找到。 Im使用PHP 8.0.13。

  • 我在组件中显示可观察对象时遇到问题。 我的Json结构是: 所以我创建了一个接口来将这个json映射到.ts 在我的组件中,我有这个json的可观察对象: 我不知道如何显示内部可见的属性数据 所以我的问题是,当我收到可观测数据时,如何在组件中显示这些属性数据

  • 我有一个DialogFragment,它使用FragmentPagerAdapter来显示选项卡。每个选项卡都有一个使用RecyclerView的不同片段。我可以获取单击后传递给片段的项目,但如何才能将数据从片段获取到DialogFragment,以便将其传递给调用活动? TabDialog扩展DialogFraank: TabAdapter扩展了FragmentPagerAdapter 在Fra