我有一個方法需要檢查cookie是否設置,如果沒有設置cookie,則需要進行http調用以返回cookie的值,然後設置它在繼續執行我的代碼之前。這一切都很好,但如果設置了cookie,我不需要進行http調用,我可以繼續執行我的代碼。如何手動返回observable而不做任何事
問題是我不知道如何創建一個方法返回一個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