0

我在一个页面上有一个包含 10-15 个模块的 webapp。每个模块显示不同类型的数据并允许分页、过滤等...

我目前用数据异步加载每个模块,但这感觉不稳定,应用程序以不同的速度更新,当 AJAX 调用返回它们的承诺时,页面加载可能需要 5 到 10 秒才能完全填充。

为了避免必须单独加载每个模块,在页面上播种数据的最佳方法是什么。它们仍将通过对数据源的 AJAX 调用进行分页和过滤,但我希望它们在页面加载时显示为完全填充。

4

1 回答 1

0

你可以用 $q.all() 将一些 Promise 链接在一起并等待它们全部完成。

$q(模块 ng 中的服务)

方法 - 全部(承诺)

返回一个单独的 Promise,它将用一个值数组解析,每个值对应于 Promise 数组中相同索引处的 Promise。如果任何一个 Promise 以拒绝的方式解决,则此结果 Promise 将以相同的拒绝方式解决。

或者,您可以在加载所有内容时显示一个微调器,如下所示:https ://github.com/ajoslin/angular-promise-tracker 。

这是一个plnkr:http ://plnkr.co/edit/XlYz6j?p=preview

于 2013-07-18T01:45:58.077 回答