Итак, вот моя общая проблема: у меня есть фабрика, которая должна сделать вызов ajax, чтобы получить ее значение. Я хочу ввести эту фабрику, но только после того, как вызов ajax был разрешен, то есть когда он был введен, я хочу, чтобы значение уже было там. Это возможно? Позвольте мне дать вам какой-то контекст, чтобы вы могли дать мне лучший вариант.Зависимость углового разрешения от обещания
У меня есть UserFactory.
var app = angular.module('app',[]);
app.factory('UserFactory',[
function(){
//ajax call to get the user object
//dont allow injection until user has arrived
}
]);
var home = angular.module('home',[]);
home.controller('UserInfoController',[
'UserFactory',//I don't want this resolved until the ajax call has completed
function(User){
//bind user data to the view
}
]);
Возможно ли это? Или я об этом ошибаюсь? Я хочу иметь доступ к информации пользователя без необходимости использовать обещания каждый раз, на случай, если его еще нет.
Я не уверен, почему вы беспокоитесь об использовании обещаний. Как насчет проверки, чтобы увидеть, есть ли пользователь, если он ничего не делает, если нет, то используйте заводское обещание установить его. – Scott