首页 > 解决方案 > Angular 4 - 第二个 http.get 在 prod 中取消但在本地工作

问题描述

我在角度取消请求时遇到了一些问题。在本地测试时,我没有任何问题,但是一旦我上传到生产环境,请求链中的第二个请求就会被取消。我不确定为什么会这样。任何帮助都将不胜感激。

我尝试过 forkJoin 但这不起作用,因为第一个请求设置了一个用于下一个请求的 cookie。

我在 api 端做了一些日志记录,登录请求运行并返回一个值,第二个请求也运行但被取消,第三个由于之前的取消而从未运行。

每次发生这种情况时网站都会重新加载,这似乎是一个无限循环。

零件

this.webApi.login().subscribe(() => {
    this.webApi.fetchDataFromWebApi().subscribe(data => {
        //Do some logic with data
        this.myOtherService.getMoreData().subscribe(res => {
            //More logic.
        }, error => {
            alert("Something wrong");
        });
    }, error => {
        alert("Something wrong");
    });
}, error => {
    alert("unauthorized);
});

服务

public login(): Observable<any> {
    return this.http.get<any>(this.apiUrl + "login", { widthCredentials: true })
        .pipe(catchError(this.handleError()));
}

另一个请求看起来相同,但使用了另一个 url。

标签: angulariis

解决方案


推荐阅读