Я пишу простое приложение для отображения информации о сотруднике (только для чтения). Я хотел бы загрузить информацию только из JSON. Не уверен, что такое соглашение на этом угловом заводе.Одноразовая загрузка данных aync в угловой фабрике - соглашение?
Я знаю, что одно решение - это только файл JSON в файле javascript и загружать его как файл js (но я хотел бы сохранить файл как JSON).
Я думаю, я мог бы также обернуть http-вызов в обещание и соответствующим образом изменить возврат.
Есть ли способ сделать это без изменения возврата? Блокировать нагрузку на сотрудника?
.factory('Employees', ['$http', function($http) {
var employees = $http.get('res/employees.json').then(function(response){
return response.data; // This is async so won't return right away
});
// This way works (since not async)
// var employees = [
// {
// "id": 232,
// "name": "Bob"
// }];
return {
all: function() {
return employees; // This will return empty before employees is loaded
}
}
}]);
Что вы имеете в виду, я хотел бы загрузить информацию только от JSON? Если вы хотите лаодировать только один раз, вам нужно вызвать эту услугу только один раз. –
Нет, вы не можете блокировать. Всегда возвращающее обещание (которое уже может быть разрешено) очень хорошо – Bergi