Я пишу сценарий для заполнения базы данных приложений с помощью Dummy Data, так как я устаю вручную добавлять пользователей/друзей/etc, я делаю это по nesting AngularJS $ http-запросы, которые говорят с моим API-интерфейсом приложения/Rest service ...
Пока все работает хорошо, но теперь мне нужно циклически переадресовывать вызовы, например ... обратите внимание, что это 3-й вложенный $ HTTP называют
// 3. Create Auto Friend For that User
for (var i = 1; i < 6; i++) { // 6 is just a given number, it could be 1 or 100....
($http({method: 'POST', url: '/path/to/rest/friend', data: {"name":"Auto Friend " + i}})
.then(function (response) {
console.log("friend created");
console.log(response);
}, function() {
console.log('Whoops...');
}))(i); // THIS IS LINE 69
}
настоящее время я получаю следующее сообщение об ошибке ...
TypeError: object is not a function
at http://localhost:9000/assets/js/src/app/auth/controllers/AuthCtrl.js:69:40
at wrappedCallback (http://localhost:9000/assets/js/vendor/bower/angular/angular.js:10549:81)
at http://localhost:9000/assets/js/vendor/bower/angular/angular.js:10635:26
at Scope.$eval (http://localhost:9000/assets/js/vendor/bower/angular/angular.js:11528:28)
at Scope.$digest (http://localhost:9000/assets/js/vendor/bower/angular/angular.js:11373:31)
at Scope.$delegate.__proto__.$digest (<anonymous>:844:31)
at Scope.$apply (http://localhost:9000/assets/js/vendor/bower/angular/angular.js:11634:24)
at Scope.$delegate.__proto__.$apply (<anonymous>:855:30)
at done (http://localhost:9000/assets/js/vendor/bower/angular/angular.js:7635:45)
at completeRequest (http://localhost:9000/assets/js/vendor/bower/angular/angular.js:7801:7)
Я внес некоторые изменения в мой код, но ничего не работает, я предполагаю, что мой подход неправильный, а не код (но я мог ошибаться там). Кто-нибудь получил идею или рекомендацию о том, как я могу преодолеть эту проблему?
Какова цель упаковки '$ http' внутри()? – AlwaysALearner
Чтобы создать закрытие - если вы этого не сделаете, значение i может измениться до того, как фактически будет выполнен http get. –
Привет, CodeHater, я пытался заморозить значение i –