Angular 12 辆车 api 缓存
Angular 12 auto api cache
我刚刚将 Angular 版本从 10 升级到 12,我注意到当页面 A 第一次加载时,然后以某种方式 link 我回到页面 A 没有 API 显示在网络选项卡中。我放置了 console.log('test')
并跟踪了问题,发现正在调用 HTTP 请求并返回响应,但不知何故 Angular 12 自动缓存请求并且不再调用 API。
我想禁用此功能,但找不到要做什么。
复制:
ngOnInit(): void {
this.service.getDashboardInfo().subscribe(
result => {console.log(result)},
error => {console.log(error)}
);
}
和this.service.getDashboardinfo()
是:
return this.http.get(this.api.DASHBOARD, { observe: 'response', headers: headers: new HttpHeaders({ 'Content-Type': 'application/json' }) });
第二次访问此页面时,正在调用 console.log(result)
,但在网络选项卡 XHR 中未显示任何内容,Api 响应立即返回,而不是正常的 500 毫秒,我认为这是与 Angular 12 自动缓存我的请求有关。
这只发生在 ng serve
中,在构建或 SSR 版本中一切正常。
刚刚遍历了整个APP,发现问题所在:TransferHttpCacheModule。删除它可以解决问题。我应该为 SSR 添加 BrowserTransferStateModule 但是我错误地添加了它
我刚刚将 Angular 版本从 10 升级到 12,我注意到当页面 A 第一次加载时,然后以某种方式 link 我回到页面 A 没有 API 显示在网络选项卡中。我放置了 console.log('test')
并跟踪了问题,发现正在调用 HTTP 请求并返回响应,但不知何故 Angular 12 自动缓存请求并且不再调用 API。
我想禁用此功能,但找不到要做什么。
复制:
ngOnInit(): void {
this.service.getDashboardInfo().subscribe(
result => {console.log(result)},
error => {console.log(error)}
);
}
和this.service.getDashboardinfo()
是:
return this.http.get(this.api.DASHBOARD, { observe: 'response', headers: headers: new HttpHeaders({ 'Content-Type': 'application/json' }) });
第二次访问此页面时,正在调用 console.log(result)
,但在网络选项卡 XHR 中未显示任何内容,Api 响应立即返回,而不是正常的 500 毫秒,我认为这是与 Angular 12 自动缓存我的请求有关。
这只发生在 ng serve
中,在构建或 SSR 版本中一切正常。
刚刚遍历了整个APP,发现问题所在:TransferHttpCacheModule。删除它可以解决问题。我应该为 SSR 添加 BrowserTransferStateModule 但是我错误地添加了它