獲取與順序阿賈克斯數據我不得不從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個組,它將首先加載組......因爲速度更快。 –