У меня есть объявление области видимости ....Почему мой объект сферы не привязан к этому обещанию?
$scope.item = animalStore.query();
Магазин животных, как это ...
factories.factory('animalStore', [
'$resource','$q', function($resource,$q) {
var resource = $resource("animals.json");
return resource;
}
]);
Он отлично работает, однако ....
Я хочу использовать «шаблон обещаний», который я использовал в других приложениях, чтобы убедиться, что мои данные не загружаются дважды. Однако моя привязка, похоже, не работает, даже несмотря на то, что данные возвращаются в «затем». Я проверил тип данных, это обещание/массив, чтобы я мог привязать свою сферу к нему, но почему это не так?
var globalPromise = null;
factories.factory('animalStore', [
'$resource','$q', function($resource,$q) {
var resource = $resource("animals.json");
var retObj = new Object();
retObj.query = function() {
if (!globalPromise) {
console.log('getting data');
globalPromise = resource.query(function() { }).$promise;
}
globalPromise.then(function (data) {
return data;
});
}
return retObj;
}
]);
На боковой ноте есть библиотеки, позволяющие мне выполнять это поведение без необходимости писать собственный код?
У меня есть, чтобы обернуть его в это уродливое заявление о грехе? Я хочу написать чистый код ... Не сделал ли это угловое использование автоматически? – Exitos
Я считаю, что это так, как я имею дело с обещаниями в угловом. Если я ничего не пропустил. Помогло ли это вернуть данные? –
Я думаю, что искал функцию с угловым названием «разворачивание», которую они отключили в версии 1.2. В любом случае это очень помогло. – Exitos