Использование ES3 для «asyn c / await» для l oop совершения http-вызовов - PullRequest
0 голосов
/ 04 февраля 2020

Я работаю над унаследованным проектом, в котором я хочу создать функцию, которая имеет значение для l oop. В каждом вызове для l oop мне нужно сделать http-вызов. (максимум 5 звонков). Я попытался сделать обещание Все объекты, которые разрешаются, когда все вызовы сделаны. но по какой-то причине случается так, что обещание все не ждет окончания других запросов sh.

Мой код

function getAllGroupsById(ids) {
    console.log('ids', ids);

    var deferAll = $q.defer();
    var results = [];

    for (var i = 0; i < ids.length; i++) {
        var endpoint = config.baseGraphApiUrl + "groups/" + ids[i] + "?$select=id,mailNickname,visibility";
        var deferred = $q.defer();
        $http.get(endpoint).then(function (result) {
            results.push(result);
            deferred.resolve(result.data);
            return deferred.promise;
        });


    }

    console.log('all results', results);
    deferAll.resolve(results);
    return deferred.promise;

}

Любая помощь будет принята с благодарностью. в худшем случае я должен go вернуться к рекурсивной функции. Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...