我在Angular 10上工作,通过每5秒向服务器发送一个请求来检查连通性。
问题是请求并没有真正发出,它只是每5秒保存一次console.warn。
仅当response响应为status 200时才会出现问题,如果响应为status 404,则正常工作。一旦它以status 200响应,它就不会每隔5秒发送任何HTTP请求,而只是打印出前一个http请求的数据。
PS:我在本地主机服务器上测试
以下是我的代码
checkConnection(): Subscription {
return interval(2000)
.subscribe(
x => {
this.httpService.testConnectivity().subscribe(
data => console.warn(`Success: ${data}`),
error => console.warn(`Error: ${error}`),
() => console.warn("Completed")
)
}
);
}testConnectivity函数如下
testConnectivity(): Observable<any> {
if (isPlatformBrowser(this.platformId)) {
return this.http
.get(`${this.url}/api/testconnection`, { observe: 'response' })
.pipe(
catchError(this.handleError)
);
}
}发布于 2021-02-05 20:50:10
我找到问题了。问题是浏览器缓存了HTTP请求。
以便进行刷新请求。只需在每个请求的url后面添加?x,其中x是某个唯一的数字(例如:http://localhost:3000/api/testconnection?0)。
https://stackoverflow.com/questions/66061888
复制相似问题