在Angular 7中(客户端)下载缓慢,如何追踪原因?

时间:2019-01-29 13:06:29

标签: javascript angular rest

在Angular 7(2MB的json)中下载大型REST服务的结果要花费一分钟以上的时间。 Chrome调试器会以8k的片段显示下载内容,延迟为1000ms(有时还会更长)。

我尝试过使用Chrome和Firefox,没有区别。 如果我通过swagger-UI进行相同操作,则下载仅需一秒钟。因此,这似乎不是服务器端的问题。 该软件的旧版本(半年前,较旧的Angular版本)不存在此问题。

创建可观察对象的代码本质上是这样的:

    return this.http[method](...params, requestOptions)
        .pipe(
            map((response: any) => {
                this.updateToken(response.headers);
                if (response.body && !isNotOmitHeaders) {
                    return response.body;
                } else {
                    return response;
                }
            }),
            catchError(this.processError)
        );

和上次使用管道之间唯一的变化。

什么会导致这种延迟?是否有限制数据带宽的选项? Angular 6或7有什么变化可能导致这种情况吗?有什么建议可以进一步解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了问题。它在服务器端(我以为我已排除在外)。在构建json结果流时,请求中的参数稍有变化,似乎导致了其他数据库请求。当我在swagger UI中修复参数时,它也花费了这么长时间。

感谢您的帮助!