Я занимаюсь разработкой с заглушкой, используя angularjs. Мои заглушки — это файлы JSON на сервере. Итак, я делаю вызовы $http в функции «заглушки», чтобы получить заглушки. Однако, поскольку $http является асинхронным, whenGET все время возвращает пустые данные (он не ждет завершения http). Я изучил текущие вопросы по этому вопросу. Они обеспечивают подход для назначения возвращаемого значения вызова http модели данных области. Я хочу вернуть данные после завершения http-запроса. Ниже приведен код.
stubbedOstnApp.run(['$httpBackend','$http',function($httpBackend, $http){
var tempData;
var get = function (){
return $http.get('../test/data/program-categories.json').then(function(data){
tempData = data.data;
console.log(tempData);
return tempData;
})
};
get();
console.log(tempData);
$httpBackend.whenGET('lookup/program-categories').respond(tempData);
$httpBackend.whenGET(/^views\//).passThrough();
$httpBackend.whenGET(/^\.\.\/test\/data\//).passThrough();
}]);
По сути, я хочу, чтобы строка whenGET ждала заполнения tempData. tempData внутри функции get регистрируется в консоли после запуска метода whenGET.