如何提高http get API的性能?

问题描述 投票:0回答:1

我正在从服务执行 http get 请求。

https://angular.io/guide/http-request-data-from-server

import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class TestService {

  constructor(private http: HttpClient) { }

  downloadFile(URL) {
    return this.http.get(url);
  }
}

如果我使用上述功能下载 500 MB 文件,则需要大约 30 秒。

downloadFile(URL) {
        return this.http.get(url, { responseType: 'blob'});
      }

进行上述更改后,需要更多时间,大约 40 秒。

以 BLOB 形式获取文件数据并提高性能的最佳方法是什么?

我们可以做些什么来提高 Typescript/Angular 方面的性能?

angular typescript
1个回答
0
投票

根据您的文件有多大,首先有多种简单的解决方案可以解决此用户体验问题:

  • 流式传输:以块的形式发送文件,并在客户端再次处理它,并提供适当的用户反馈。
  • 客户端:优化和减少客户端逻辑,以提高CPU、内存和网络使用率。
  • 压缩:在服务器端压缩文件。

更高级:

  • 考虑使用替代协议,例如 WebSockets 或 WebRTC。
© www.soinside.com 2019 - 2024. All rights reserved.