나는 다음과 같은 기능이 있습니다성공적인 HTTP 후 무언가를
public getList(): Observable<T[]> {
let url = this.baseUrl + this.type + 'list';
return this.http.get<any>(url, {headers: this.headers })
.retry(3)
.map(response => response.list as T[],
(error: HttpErrorResponse) => {
this.toastrService.error('everything is broken', 'Major Error', {
timeOut: 3000,
});
console.log(error.name);
});
}
가 나는 또한 성공적인 Webservice를 호출 후에 toasterService.success()
와 토스터를 추가 할,하지만 난 .map(response => response.list as T[]
후이를 추가하는 방법을 알아낼 수 없습니다를 . 어떻게해야합니까?
감사 할 수 있습니다. '.subscribe()'다음에 블록에서 succes를 처리 할 수 있다는 것을 알고 있지만,'subscribe()'를 호출 할 때마다 토스트 메시지를 구현해야합니다. 'this.' 때문에'this.getList(). subscribe (.....) '항목을 어디에 둘 것인지 이해할 수 없습니다. 그것은 내 봉사에 있어야하는 것이 아니라 그 때 어디에 있어야합니까? 고맙습니다. –
구독자가 구성 요소에 있어야합니다. 구성 요소 생성자에 toasterService를 주입해야합니다. 구성 요소에 서비스를 주입하는 방법에 대한이 기사를 읽으십시오. https://blog.thoughtram.io/angular/2015/09/17/resolve-service-dependencies-in-angular-2.html –
그리고 두 번 이상 구독 할 필요가 없습니다. GET에서 사용할 수있는 새 데이터가있을 때마다 성공 처리기가 실행됩니다. 그러므로 "구독"이라는 단어. 서비스의 데이터 변경 사항을 구독하고 있습니다. –