как исправить это сообщение угловой наблюдаемой - PullRequest
0 голосов
/ 16 июня 2019

У меня небольшая проблема, я использую узел (экспресс) и угловой, Я хочу, чтобы все классы отображались в угловых единицах, но отображается ошибка, подобная этой

enter image description here

и он не показывает json back-end, что не так, я не понимаю

Возврат метода http get clasRoutes.js

res.json({ success: true, classes: postQuery, total: nbClasses });

enter image description here

Clas.interface.ts

export interface Clas {
    room: string;
    img?: string;
}

Clas.service.ts

  private urlGetClasses = environment.url + 'classes';

  constructor( private http: HttpClient ) { }

   getClass(): Observable<Clas[]> {
        return this.http.get(this.urlGetClasses).pipe(map(a => console.log(a)));
  }

Clas.component.ts

public clas: Clas[] = [];

constructor(private clasService: ClasService) {}

ngOnInit() {
  this.getClass().subscribe(res => {
    this.clas = res.classes
  });
}

private getClass(): Observable < Clas[] > {
  return this.clasService.getClass().pipe(tap((value) => {
    console.log(value)
  }));
}  

Clas.component.html

<p *ngFor="let cla of clas">
   zefd {{cla.room}}
</p>

Ответы [ 2 ]

0 голосов
/ 16 июня 2019

Проблема с Clas.service.ts. В вашем методе getClass() вы отображаете void, поскольку тип возвращаемого значения console.log void; то есть вы возвращаете void, в то время как вы указали тип возврата getClas(), равный Observable<Clas[]>. Поэтому вам нужно изменить ваш getClas() метод на:

getClass(): Observable<Clas[]> {
    return this.http.get(this.urlGetClasses);
}

Или, как упоминал Никола, вы можете использовать tap для входа в систему так:

private getClass(): Observable<Clas[]> {
    return this.clasService.getClass().pipe(tap((value) => {console.log(value)}));
}
0 голосов
/ 16 июня 2019

Существует новый синтаксис RxJS.Вы должны написать это как

  private getClass(): Observable<Clas[]> {
    return this.clasService.getClass().pipe(tap((value) => {console.log(value)}));
  }

, убедитесь, что вы импортируете pipe и tap из rxjs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...