クッキーが設定されているかどうかをチェックする方法があります。クッキーが設定されていない場合、クッキーの値を返すようにhttpコールを行い、コードを実行する前にこれは大丈夫ですが、クッキーが設定されている場合はhttp呼び出しを行う必要はありません。コードを実行し続けることができます。何もせずにobservableを手動で返す方法
問題は、http.getなどのネイティブの観測可能なメソッドを呼び出さずに、オブザーバブルを返すメソッドを作成する方法がわかりません。
private getAuthCookie(): Observable<any> {
if (!this.hasCookie('oauth2')) {
return this.http.get(address)
.map((res: Response) => {
this.setCookie('oauth2', res);
return res
}
} else {
return this.getCookie('oauth2');
// complete the observable some how so that this.getAuthCookie().map() is a valid function
}
}
private get(address: string, callback: any) {
this.getAuthCookie()
.map((token: Response) => {
this.http.get(address, { headers: 'Bearer ' + token })
.map(callback)
});
}
これは、質問のタイトルに対する受け入れられた回答である必要があります。 UIの開発中にhttp呼び出しを模擬するのに便利です。 – msanford