【发布时间】:2020-02-07 21:24:06
【问题描述】:
当我尝试加载第一页数据并在后台加载整个数据集时显示它时,我认为我很聪明。我使用了以下代码。
ngOnInit() {
this.service.getStuff(0, 10)
.subscribe(suc => this.subset = suc);
this.service.getStuff()
.subscribe(suc => this.data = suc);
}
然后,我在我的 API 中设置断点,获取并释放第一个调用并保持未释放的第二个调用。但是,根据我浏览器中的网络选项卡,两个调用都待处理,直到两个调用都完成。
我离预载工作很近还是很远?
实际调用是通过通常的 HttpClient 和 GET 执行的,返回一个 observable。
【问题讨论】:
-
您所描述的不是预期的行为。其他事情正在发生。
-
@bryan60 我根据答案和评论收集到这一点。我注意到由于 timer(1000).subscribe(...) 而调用第二个调用产生了预期的行为,因此不知何故,计算机将这两个调用阻塞在一起。您正在确认我最初的期望(我放弃了,因为我最终变得不确定并对自己的技能失去信心)。我很想建立一个可重现的例子,但我不知道怎么做,因为这是一个结合 .NET 和 Angular 的问题......
-
多年来我一直在使用 .NET 后端处理 Angular,但从未遇到过这样的问题。这可能与您在 API 中设置喙点的方式有关,或者您是否有某种不守规矩的拦截器,或者您的服务中发生的某些事情阻碍了 http 客户端。
标签: angular httpclient