Я перед перезвонить проблема при вызове функции службывопрос обратного вызова в angularjs директиве
Вот моя функция, определенная в registrationService
function hasUserAccessToLevel(incentiveLevel, callback, showRegistrationView) {
var url = "...";
httpWrapperService.get(url)
.then(
function success(data) {
var hasAccess = incentiveLevel <= data.Level;
callback(hasAccess);
if (showRegistrationView && hasAccess == false) {
showRegistrationViewForLevel(incentiveLevel);
}
},
function error(errorObject) {
alert("User has not access\r\nTODO : show popup for registration/login");
}
);
return false;
}
и В моей директиве я использую эту функцию
function checkAuthentication() {
registrationService.hasUserAccessToLevel(2, function (hasAccess) {
if (hasAccess == false){
return false;
}
else{
return true;
}
});
}
function loadDocuments() {
var target=checkAuthentication()
if(target)
{
//load both private and public
}
else
{
// load only public
}
}
Теперь проблема, с которой я столкнулся, у меня есть другая функция loaDocuments
, когда пользователь вошел в систему, он должен войти внутрь if(target)
, но когда я отлаживаю функцию, она говорит, что цель не определена, и, следовательно, элемент управления будет еще частью, что неверно. Я знаю, что есть некоторая проблема обратного вызова, но не знаю, как ее исправить.
Любая помощь является приемлемой. Спасибо
'метод checkAuthentication' это ничего не возвращает так возвращаемое значение будет всегда' undefined' – vpsingh016