Angular 2 Показать значение из Observable

Привет, я хочу отобразить свое значение из ответа http, но я не знаю, в чем проблема.

http:

getAllApiContext(){
     const options = this.getOptions("...");
    return this.http
        .get("jenkins/job/api_initialization/api/json", options)
        .map((data: any) => {
            return data.json().property[0].parameterDefinitions[1].choices;
        })
}

Она возвращает массив.

Мой компонент.ts

context: Observable<Array<any>>;
ngOnInit() {
  this.jenkinsJob.getAllApiContext().subscribe(data => {
    this.context = data;
  });
};

Мой компонент.html

 <span *ngFor="let item of context | async">
   <p>{{item}}</p>
 </span>

person Matthis.h    schedule 18.07.2018    source источник
comment
В чем ошибка или текущее поведение?   -  person stealththeninja    schedule 18.07.2018


Ответы (2)


удалите асинхронность в файле ngFor. поскольку вы уже подписаны на наблюдаемое, нет необходимости использовать асинхронный канал

<span *ngFor="let item of context">
person Sachila Ranawaka    schedule 18.07.2018

Если вы хотите использовать канал async, вам не нужно подписываться

ngOnInit() {
 this.context = this.jenkinsJob.getAllApiContext();
};

AsyncPipe

person malbarmavi    schedule 18.07.2018