В angularjs сделайте http сервис используя обещание - PullRequest
0 голосов
/ 23 января 2019

Когда я нажимаю URL для определенной страницы приложения, я хочу проверить, разрешено ли загружать страницу, используя вызов API.Если это так, загрузите эту страницу, иначе перенаправьте на другую страницу приложения.Для этого я использую http сервис с обещанием.Здесь служба http не ожидает ответа http.

    starter.service("verifywallet", ['$http', '$q', function($http, $q) {

this.getdata = function() {
    var url = baseAPIUrl + "IsEnableWallet/";
    var def = $q.defer();
    var IsEnableWallet = undefined;
    if (IsenableWallet) {
        $http({
            method: "GET",
            url: url
        }).then(function(response) {
            if (response.data.status.success == true) {
                var IsenableWallet = response.data.status.Isenable;
                def.resolve(IsenableWallet);
            } else {
                def.resolve(false);
            }
        })
        IsenableWallet = def.promise;
    }
    return $q.when(IsenableWallet);
}

this.verify = function() {
    return this.getdata();
}
}]);

1 Ответ

0 голосов
/ 25 января 2019

Прежде всего, этот вопрос больше связан с тем, что ваш сервис не работает, а с перенаправлением, которое вы упомянули, поэтому вы можете попробовать что-то вроде этого:

starter.service("verifyWallet", ['$http', function($http) {

    var self = this;
    var baseAPIUrl = 'api/rest/'; //in your question there is no value for baseAPIUrl

    self.getData = function() {
        var IsEnableWallet = null; 
        var promise = $http({
            method: "GET",
            url: baseAPIUrl + "IsEnableWallet/";
        })

        return promise;
    }

}]);

После этого вы можете использовать .then() при вызове функции getData ().

Кроме того, вы не должны инициализировать переменные как «неопределенные», использовать вместо этого null и быть осторожными с cammelCase (IE IsEnableWallet и IsenableWallet), javascript чувствителен к ключам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...