如何在AngularJs中推迟承诺状态

时间:2015-07-16 01:56:29

标签: angularjs

我无法找到类似的问题(希望我是对的)所以我决定问一下

我有很多来自我自己服务的延迟承诺方法,类似这样

function GetSomething(id) {
        var deferred = $q.defer();
        $http.get(url + "/" + id)
            .success(function (response) {
                deferred.resolve(response);
            })
            .error(function (err, status) {
                // I wish I won't need to do something like this
                if (status === 404)
                    deferred.reject("Not Found");
                else
                    deferred.reject(err);
            });

        return deferred.promise;
}

当我打电话给我时,我会这样做

myService.getSomething(id).then ( 
    function(response) {
       // normal
    },

    function(err, status) {
       // HERE no more additional input parameter
    }
}

所以,我的问题是,如果我使用延期保证,我怎么能用所有附加参数拒绝它,例如" status",所以我不必手动构建&# 34;原因"对于拒绝方法

我不认为这很重要,实际上当我打字时,我觉得它可能很好,所以我的服务将处理404并重定向到特定页面遇到这样的状态。最初我正在考虑使我的所有服务变得愚蠢,这只是在没有任何UI逻辑的情况下返回承诺

0 个答案:

没有答案