У меня есть функция AngularJS, в которой я делаю 2 асинхронных c вызова. Эти 2 вызова не являются зависимыми, но функция должна возвращаться только тогда, когда оба вызова завершены и результат сохранен в возвращаемом var.
Я пробовал разные решения и в итоге использовал тот, который показан ниже. Но он очень медленный, так как его ожидание первого завершается sh
function myAngularfunction(a, b) {
var defer = $q.defer();
var test= {
a: "",
b: ""
};
msGraph.getClient()
.then((client) => {
// First Async call
client
.api("https://graph.microsoft.com/v1.0/")
.get()
.then((groupResponse) => {
var result = groupResponse;
test.a= result.displayName;
msGraph.getClient()
.then((client) => {
// Second Async call
client
.api("https://graph.microsoft.com/v1.0/teams/")
.get()
.then((groupResponse) => {
var result = groupResponse;
test.b= result.displayName;
defer.resolve(test);
});
});
});
});
return defer.promise;
}
Вызов функции
myAngularfunction(a, b).then(function(obj)
Как я могу ждать обоих вызовов в одной и той же функции с вложив их? Или позвонив следующему, не дожидаясь, пока первый завершится sh.