我在项目中使用$ resource。 发出POST请求并调用api。 但是30秒后我想杀死http请求。 我怎样才能做到这一点?
答案 0 :(得分:0)
根据docs,您可以在$resource
操作上指定超时参数。我假设它看起来像这样(因为你指定了一个POST请求,我猜你必须调用.$save
或Resource.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();