我创建了一个函数,用于成为电报用户帐户中所有聊天的所有成员(但这种情况并不重要)。在函数中发送聊天ID列表。通过angular.forEach函数apiFunctionForRequestMembersListOfChats向服务器发送每个聊天ID的请求,并返回此聊天成员的列表。该列表添加到成员列表中。并且所有成员列表从函数返回程序。如何在Angularjs中执行多个api请求
function getAllMembers(chatsID) {
var members = [];
angular.forEach(chatsID, function(chatID) {
apiFunctionForRequestMembersListOfChats(chatID).then(function(chat_members) {
angular.forEach(chat_members, function(member) {
members.push(member);
alert("current members count: " + members.length);
})
};
}); alert("all members count: " + members.length);
return members;
}
}
但是,当API函数完成并返回成员的空列表时,不等待。我成了这个警报:
全体成员数:0 目前成员数:7名 目前成员数:42名 目前成员数:59
如何使功能等待所有的API,请求和返回成员的完整列表?
解决所有的承诺和他们推到一个数组,并使用$ q.all – Vivz
我会为一个小例子感激 –
检查https://stackoverflow.com/questions/21310964/angularjs-q-all – Vivz