簡體   English   中英

如何在angular 4中進行同步http調用

[英]How to make synchronous http calls in angular 4

我有一個 Angular 4 登錄應用程序。 我要登錄同步操作但異步? 你能幫助我嗎?

數據.service.ts:

login(userName: string,pwd: string): Promise<User>  {
    const url =`loginLdap/${userName}&${pwd}`;  
    return this.http.get(url).toPromise()
    .then(response => response.json() as User)
    .catch(this.handleError);
}

用戶服務.ts:

public authenticate( userName: string, pwd: string): Observable<User>{
    this.dataService.login(email, password).then(items => this.items = items);
    console.log(this.items);

    if (this.items.success) {
        this._authenticated = true;
        ...
        return Observable.of(User);
    }else{ 
        return Observable.throw(new Error("System Error"));
    }

}

請查看 Rxjs forkJoin 運算符。 它將允許您鏈接多個 Observable,然后在所有 Observable 都發出后采取行動。 在 forjoin 正文中添加您的 if/else 邏輯。 這將是一種優雅的方式來完成您正在尋找的東西。

如果您在進行此設置時遇到問題,請創建一個 plunkr,我們可以一起解決。

如果您在使用此功能時沒有問題,請發布生成的文件供其他人查看,當您按需要運行時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM