То, что я хочу сделать, - это только один раз загрузить объект из ресурса, который будет постоянным шаблоном для различных вызовов, обслуживаемых моей службой позже. Я думаю, что моя фабричная функция сервиса будет выглядеть примерно так:
function assetService($resource, DataConstants){
var assetTemplate = $resource(DataConstants.PATH_GET_ASSET).get({});
return {
createAsset: createAsset
};
function createAsset(subscription){
var Asset = $resource("/assets");
var newAsset = new Asset(assetTemplate);
newAsset.serialNo = subscription.serialNumber;
return newAsset.$save().$promise;
}
}
Я думаю, что у моего кода есть проблемы... что, если мой $ resource code для инициализации objectTemplate терпит неудачу? Могу ли я получить совет по наилучшему способу однократной инициализации переменной, используемой снова и снова в моем сервисе?
Лучший способ - использовать службу или localStorage. Таким образом, переменная может сохраняться. Вам нужно будет вводить службу везде, где вам нужен доступ к данным.
$resource
- это уровень абстракции API. Поскольку ваши данные постоянны, и все, что вам нужно, это сохранить их, используя$localStorage
,$sessionStorage
или$cookies
.