У меня есть код для аутентификации, где я хочу вызвать событие после получения некоторых данных, но «$ scope. $ Emit» не работает в обратном вызове «User.me()», и я не понимаю.
Кто-нибудь может мне объяснить?
$scope.login = function() {
OAuth.getAccessToken($scope.user).then(function() {
$scope.$emit('event:here:work');
User.me({}, {}, function (data) {
$scope.$emit('event:here:NOT-WORK');
});
$scope.$emit('event:here:work');
}, function (response) {
// error //
});
};
Стараюсь:
$scope.$emit('event'); // but, not work
$scope.$broadcast('event'); // but, not work
$rootScope.$emit('event'); // but, not work
$rootScope.$broadcast('event'); // work!!!!
Теперь, "почему" я не знаю?
Действительно ли вызванный обратный вызов? Вы пытались разместить протоколирование/отладки с использованием как успешных, так и обратных вызовов? – CaringDev
Идентификатор входа в систему и «User.me()» тоже. В обратном вызове login «$ scope. $ Emit» как и ожидалось, но обратный вызов «User.me()« не отправляет »$ scope. $ Emit». –
Может быть, это глупый вопрос, но где вы называете функцию обратного вызова? – olysachok