後、私は次の関数持って何かを実行します。成功したHTTP GET
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);
});
}
を私も成功したWebサービスの呼び出しの後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から利用可能な新しいデータがあるときはいつでも、あなたの成功ハンドラは解雇されます。したがって、「購読する」という言葉。あなたはあなたのサービスからのデータ変更を購読しています。 –