【发布时间】:2017-01-27 06:00:42
【问题描述】:
在我的AngularJS 应用程序中,我有一个参数数组(例如一些ID),它们应该用作ajax 调用队列的参数。问题是该数组可能包含 600 多个项目,如果我只是使用 forEach 循环递归地进行 ajax 调用,浏览器页面最终会在每个请求得到解决之前停止响应,因为每个响应都会更新视图。是否有一种技术可以允许发送 ajax 请求,例如,一次异步发送 5 个请求,并且只有在这些请求完成后,才继续下一个 5 个请求?
【问题讨论】:
-
您需要在全部完成后还是在每个完成后更新视图? Promise.all ??
-
@IlyaNovojilov - 或第三个选项,在每个“批次”5 个完成后
-
等等,你打算发送 600 个请求?
-
是的,有很多信息要显示在屏幕上,我有一个“全部显示”功能,总的来说需要 600 多个请求。
-
你永远不应该那样做。要么更改您的 API 以回答每个请求的多个查询,要么至少使用延迟加载来仅请求用户当前正在查看的信息。一次发送 600 个请求是不行的。
标签: javascript angularjs ajax promise es6-promise