AngularJS $q.all timeout
AngularJS $q.all timeout
我正在使用AngularJS的$q函数将几个承诺组合在一起。但是,我还想设置一个超时来取消此承诺,并在一定时间后对这些承诺中的任何一个没有任何响应时执行其他操作。这可能吗?
法典:
var data = {};
var map_dataFile = $http.get("GET Request 1"),
node_dataFile = $http.get("GET Request 2"),
country_data = $http.get("GET Request 3"),
shipment_data = $http.get("GET Request 4"),
location_data = $http.get("GET Request 5");
$q.all([map_dataFile, node_dataFile, country_data, shipment_data, location_data]).then(function(results) {
data.countries = results[0].data;
data.nodes = results[1].data;
data.countries_indicator = results[2].data;
data.shipment_flows = results[3].data;
data.location_data = results[4].data;
});
//do something else if it takes more than 10s, and cancel the $q.all promise
$http
和get
方法可以采用配置对象。此配置对象的支持参数之一是 timeout
。请参阅文档
您可以将超时值传递给http
配置,如果任何操作需要更多时间,则完整的$q
承诺将被拒绝。
相关文章:
- Nested Q.all nodejs
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- $timeout如何在angularJs中工作
- 当一些承诺失败时,如何继续使用$q.all()
- 是否可以使用“;document.all”;在IE11中,而不改变每次使用
- 如何在异步函数中正确使用Promise.all()和then()
- "控制器作为“;$timeout中的语法
- promise.all在一个forEach循环中——所有东西都同时启动
- Modx数据包管理器ext-all.js错误
- datatables+lengthMenu+All+服务器端处理+不工作
- Function.prototype.call和Function.protoype.all只应用一个参数
- 如何在使用$timeout进行指令渲染后调用控制器方法
- 使用JQuery从包含A href值中设置*all*IMG-src值
- 当我追加到数组时,Ractive.js会追加或重新生成all吗
- $q.all当输入数组中的一项不是promise时,Typescript检查器失败
- Protractor-分配给element.all.locator.count的变量返回NaN why
- 当数组中的某个函数没有返回promise时,我可以使用$q.all吗
- .bind('all', 'update')上的主干怪异类型错误错误
- 为什么 angularjs 插件无缘无故地使用 $timeout
- AngularJS $q.all timeout