我们的应用程序使用angular并获得大量请求。有一组请求(请求BCD)依赖于观看另一个请求返回的数据。(请参阅附件)因此,当第一次加载页面时,它将发送BCD请求并同时发送一个请求。当A请求返回数据时,BCD请求将再次发送,之前的BCD请求将被中止(已取消)。
我的问题是:既然请求已被取消,这会影响我的页面加载时间吗?我应该实现类似承诺让BCD请求等待A请求完成然后观察从A请求返回的数据吗?
答案 0 :(得分:0)
由于引擎必须执行某些操作才能取消请求,因此会有额外的工作。您可以找到步骤here
如您所见,引擎必须触发以下事件:
同时更新一些标志。但这些工作将花费更少的时间,而性能的延迟可以忽略不计。
修改1:
如果你引用concept-event-fire-progress,除了abort
之外,所提到的事件将被解雇。根据状态,它将是error
或load
或timeout
。但取消请求会使引擎立即触发这些事件,这可能会增加一些时间。但同样,总时间可以忽略不计。