有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript如何在angular 4中进行同步http调用

我有一个Angular 4登录应用程序。我想登录同步操作,但异步?你能帮我吗

数据。服务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"));
    }

}

共 (1) 个答案

  1. # 1 楼答案

    请看一下Rxjs forkJoin操作符。它将允许你链接多个观测值,然后在所有观测值都发出后采取行动。在forjoin主体内部添加if/else逻辑。这将是一个优雅的方式来完成你所寻找的

    如果你在安装时遇到问题,创建一个plunkr,我们可以一起解决

    如果你没有问题让这个工作,请张贴结果文件,供其他人查看时,你已经得到了它的工作要求