如何杀死AngularJS中的$ resource服务?

时间:2015-12-11 13:59:38

标签: javascript angularjs

我在项目中使用$ resource。 发出POST请求并调用api。 但是30秒后我想杀死http请求。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

根据docs,您可以在$resource操作上指定超时参数。我假设它看起来像这样(因为你指定了一个POST请求,我猜你必须调用.$saveResource.save):

$resource('/foo/bar/:id',{id :'@id'},{
    save: {method: 'POST', timeout: 30000} // 30 seconds in milliseconds
});

请注意,timeout参数可以是:

  

超时(以毫秒为单位),或承诺在解决时应中止请求。

根本没有对此进行测试,但希望它可以帮到你。

答案 1 :(得分:0)

我们可以在查询对象中使用cancellable:true,以便可以随时取消请求。

var request = $resource('/foo/bar/:id',{id :'@id'},{
query: {method: 'get', isArray: true, cancellable: true}});

var apiCall = request.query({location: destination});
apiCall.$cancelRequest();