angular - 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。
解决方案
推荐阅读
- visual-studio-code - VScode 未编译为 .bin 文件
- java - SignalR 使用了 30G 的用户 CelluarData 和 Wifi ,如何减少?
- jsp - [/WEB-INF/jsp/report/TestArchive.jsp] 中 [c] 的来自 TagLibraryValidator 的验证错误消息
- ios - 在 didFinishPicking 方法中获取大尺寸图像
- list - Python程序从日期列表中提取年份部分
- python - 如何使用 oauth2 使用 dbm api python 自动化 dv360 报告?
- python - 如何根据前序、中序和后序遍历方法输入节点 P 并且输出应该是 P 之后的节点?
- java - 我们如何才能仅沿曲线而不是包含区域显示曲线的工具提示(使用 piccolo2d 绘制)?
- mongodb - 无论如何,mongodb每个月都会自动在linux中创建一个新表吗?
- azure-ad-b2c-custom-policy - 使用 OnItemExistenceInStringCollectionClaim 禁用 LocalAccount