获取与顺序阿贾克斯数据我不得不从API 3个不同的东西加载:与Angularjs
- 用户
- 组
- 消息
其实我所做的是:
var loadAll = $q.all([
getUsers.all(),
getGroups.all(),
getMessages.all()
]);
loadAll.then(function (data) {
$scope.users = data[0];
$scope.groups = data[1];
$scope.messages = data[2];
};
它工作正常,但不幸福不管它是否按我所希望的顺序加载用户,组和消息...
我想要做的是加载用户,然后加载组,最后加载消息。
我不明白究竟是如何正确地做到这一点...
我的服务回报承诺:
getUsers.all()
.then(function(data) {
$scope.users = data;
};
但是,如果我做的:
getUsers.all()
.then(function(data) {
$scope.users = data;
getGroups.all()
.then(function(data) {
// etc...
}
};
它解决的承诺作为很快,用户已经被加载而无需等待其他用户...
我该怎么做?
真的不清楚问题是什么。你需要'用户'数据来处理'groups'吗?第二个版本按照您要求的顺序请求请求 – charlietfl
*“它工作正常,但不幸的是它按照我希望的顺序加载用户,组和消息......”*您的意思是'data'数组已超出订购?或者是什么。 –
我需要首先加载所有用户,然后加载所有组,然后加载所有消息。使用q.all不会像那样工作...如果我有1000个用户和30个组,它将首先加载组......因为速度更快。 –