gpt4 book ai didi

javascript - 每个循环内链接的 angularjs $http 请求

转载 作者:行者123 更新时间:2023-12-02 15:42:05 25 4
gpt4 key购买 nike

我需要检查“for 循环”函数何时完成所有 $http 请求处理并可以一劳永逸地刷新数据网格。目前,每个 $http 请求都会发生刷新,这不是理想的行为。

已经阅读了一些有关 angularjs $q.all 的内容,但不确定下面场景中的实现。

非常感谢任何帮助/建议。提前致谢。

这是片段 -

function chainedAjax(param1, param2) {
var something = something;
$http({
// processing
}).then(function(responseData) {
// processing
return $http({
// processing
});
}, function(ex) {
// error
}).then(function(responseData) {
// processing
return $http({
// processing
});
}, function(ex) {
// error
}).then(function(responseData) {
// success - Done
finish();
}, function(ex) {
// error
});
}

function init(selectedDocs) {
var something = something;
angular.forEach(selectedDocs, function(item, arrayIndex) {
chainedAjax(item.param1, item.param2);
});
}

function finish() {
refreshDocsTable(); // refreshes the current grid
}

init(selectedItems); // call init function

最佳答案

您需要这样的东西,假设您实际上需要对每个项目进行多个请求:

function chainedAjax(param1, param2) {
var something = something;
return $http({})
.then(function(responseData) {
// processing
return $http({});
})
.then(function(responseData) {
// processing
return $http({});
})
}

function dealWithError(error) {}

function init(selectedDocs) {
var something = something;
var requests = [];
angular.forEach(selectedDocs, function(item) {
requests.push(chainedAjax(item.param1, item.param2));
});
$q.all(requests)
.then(finish)
.catch(dealWithError);
}

关于javascript - 每个循环内链接的 angularjs $http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com