AngularJs: Niech metoda zwróci synchronicznie, gdy wewnętrznie wywoła $ http lub $ resource

Czy istnieje sposób na oczekiwanie na obietnicę, aby można było uzyskać rzeczywisty wynik z tego i zwrócić to zamiast zwracać samą obietnicę? Myślę o czymś podobnym do tego, jak C # czeka na słowo kluczowe z Zadaniami.

Oto przykład, dlaczego chciałbym mieć metodę taką jak canAccess (), która zwraca prawdę lub fałsz zamiast obietnicy, aby można było jej użyć w instrukcji if. Metoda canAccess () spowodowałaby wywołanie AJAX przy użyciu $ http lub $ resource, a następnie w jakiś sposób poczeka na rozwiązanie obietnicy.

Wyglądałoby to mniej więcej tak:

$scope.canAccess = function(page) {
    var resource = $resource('/api/access/:page');
    var result = resource.get({page: page});

    // how to await this and not return the promise but the real value
    return result.canAccess;
}

Czy i tak to zrobić?

Dzięki.

questionAnswers(5)

yourAnswerToTheQuestion