我必须从API 3加载不同的东西:
其实我做的是:
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...
}
};
只要用户加载而不等待其他人就解决了承诺......
我该怎么做?
答案 0 :(得分:0)
链接承诺以顺序加载数据集应该有效:
getUsers.all().then(function(data) {
$scope.users = data
return getGroups.all()
}).then(function(data) {
$scope.groups = data
return getMessages.all()
}).then(function(data) {
$scope.messages = data
});
这是因为then
会返回一个承诺。