【发布时间】:2017-10-06 20:13:43
【问题描述】:
我在我的 AngularJS (1.6.3) 应用程序中发现了一个奇怪的行为,我无法解释。
我做什么
我通过$state.go('.', {path: 'newPath'}) 进行动态参数更改,两个兄弟组件在其$doCheck 方法中对更改做出反应,例如:
$doCheck() {
if(this.path !== this.$stateParams.path) {
this.path = this.$stateParams.path;
this.handleNewPath(this.path);
}
}
两个组件都做 Http 请求。我的问题来了。
预期行为
组件发起的请求互不影响。两者都完全孤立地处理他们的反应。因此,有时组件 A 先得到响应,而不是先处理,有时组件 B 更快。
实际行为
组件A发起一个请求,大约需要550ms(450个内容下载)。只要内容没有完全下载,就不会执行其他请求。
我的问题
为什么 AngularJS 在这种情况下会这样?我以前没有确定过这样的事情。通常,可以并行发起许多请求。
正常行为
更新
组件 B 包括一个 Highchart。当我禁用该图表时,请求被启动,但响应未被处理,请求的阻塞似乎消失了。
【问题讨论】:
-
这看起来像一个 AngularJS 问题,并没有直接连接到 Highcharts。你对 Highcharts 有什么问题吗?
标签: javascript angularjs highcharts xmlhttprequest