在angularjs中使HTTP服务使用Promise

时间:2019-01-23 14:32:23

标签: angularjs

当我点击应用程序特定页面的URL时,我想使用api调用检查该页面是否被允许加载。如果是,请加载该页面,否则重定向到应用程序的其他页面。为此,我使用带有承诺的http服务。这里的http服务不等待http响应。

streetsList : SysStreetApi[];
selectedStreet : SysStreetApi;

onSelect(street : SysStreetApi)
{
  this.selectedStreet = street;
  this.frm.value.StreetID = this.selectedStreet.StreetId;
}

1 个答案:

答案 0 :(得分:0)

首先,这个问题与您的服务无法正常运行,而与您提到的重定向更相关,因此您可以尝试执行以下操作:

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;
    }

}]);

然后,可以在调用函数getData()时使用.then()。

此外,您不得将变量初始化为“未定义”,而应使用null代替,并要小心使用cammelCase(即IsEnableWallet和IsenableWallet),因为javascript是密钥敏感的。