Проблема области видимости

212
15 ноября 2017, 02:35

Написал промисы, которые возвращают в конечном итоге данные вот код:

var overlappingProjects = {};
var promises = [];
        angular.forEach(dtoArray, (function(dto) {
            var deferred = $q.defer();
            var overlappingProjects = {};
            //async fun
            InvitationService.checkOverlapping(dto)
                .before(function() {
                    progressBars.progressbar.requestsInProgress++;
                })
                .success(function(data) {
                    // TODO: overlappingProjects - ???
                    if(Object.keys(data).length) {
                        console.log('1');
                        console.log(data);
                        overlappingProjects = data;
                        console.log(overlappingProjects);
                    }
                    console.log('2');
                    console.log(data);
                    deferred.resolve(data);
                })
                .error(function(error) {
                    deferred.reject(error);
                })
                .finally(function() {
                    progressBars.progressbar.requestsInProgress--;
                });
            promises.push(deferred.promise);
        }));
        $q.all(promises).then(console.log(promises)).then(
            end()
        );
        function end() {
            console.log('4');
            console.log(overlappingProjects);
            return (overlappingProjects);
        }

C сервера приходит все хорошо, но в функции end() не видит переменную overlappingProjects.

Как переписать код или что сделать что бы она была видна?

READ ALSO
Не работает [^-] в регулярном выражении для проверки URL на JavaScript

Не работает [^-] в регулярном выражении для проверки URL на JavaScript

Нужно создать регулярное выражение для проверки URL

193
Не работают корректно js файлы

Не работают корректно js файлы

Здравствуйте, имеются два файла js

221
удалить вирус coinhive с wordpress

удалить вирус coinhive с wordpress

не могу найти и удалить майнер который лежит в bodyкак он попал на сайт не понятно

771
Restfull api Yii2 + apache Дольгий ответ локального сервера

Restfull api Yii2 + apache Дольгий ответ локального сервера

Есть фронтенд на ExtJS есть бэкенд (RESTFULL API) на yii2Но дело даже не во фронте

275