如何使用角度休息服务设置超时回调事件

时间:2014-12-14 05:53:42

标签: javascript angularjs

当我使用角度服务工厂保存我的数据时,如何处理超时事件,让我们说如果互联网连接不稳定,现在我无限加载了一个加载屏幕,所以我想在几秒后设置超时没有收到回复,我的休息服务如下:

.factory('Deal', [ '$resource', function($resource) {
    return $resource("/deals/:id/:action.json", {
        id : "@id",
        action : "@action"
    }, {
        query : {
            method : "GET",
            isArray : false
        },
        update : {
            method : "POST",
            params : {
                    action : 'update'
            }
        }
    });
} ])

这就是我调用save方法的方法:

  Deal
    .save(
        $scope.deal,
        function(data) {
        },
        function(err) {
        });

1 个答案:

答案 0 :(得分:2)

配置选项有timeout属性,可以帮助您

query : {
        method : "GET",
        isArray : false,
        timeout:5000, //In millisecond
    },

您可以使用$http.defaults配置在全局级别覆盖此配置。 请参阅$http$resource https://code.angularjs.org/1.3.3/docs/api/ng/service/ $ http

上的文档

当超时失效时,潜在的资源承诺将被拒绝,并且您将在错误回调中继续使用

相关问题