Javascript 角度承诺队列并显示加载数据
我使用angular的Javascript 角度承诺队列并显示加载数据,javascript,angularjs,Javascript,Angularjs,我使用angular的$q承诺如下: $scope.loadingData = true; // show loading spinner in view var thingsToProcess = [....]; for(int i = 0; i < thingsToProcess.length; i++) { var itemToProcess = thingsToProcess[i]; makeServiceCallThatReturnsPromise(item
$q
承诺如下:
$scope.loadingData = true; // show loading spinner in view
var thingsToProcess = [....];
for(int i = 0; i < thingsToProcess.length; i++) {
var itemToProcess = thingsToProcess[i];
makeServiceCallThatReturnsPromise(itemToProcess)
.then(function(response) {
processAndDisplayResponse(response);
});
}
$loadingData = false; // hide loading spinner
$scope.loadingData=true;//在视图中显示加载微调器
var thingsToProcess=[…];
for(int i=0;i
由于服务调用已排队,因此在从服务返回所有数据之前,加载指示器将消失
在所有承诺兑现之前,如何设置加载标志?您可以使用$q.all()进行此操作。您可以使用$q.all()进行此操作。您可以使用)此处
var承诺=[];
对于(int i=0;i您可以使用)这里
var承诺=[];
对于(int i=0;i我同意$q.all(arrayOfPromises),则(successfunction(),failureFunction())。[catch]将对此提供帮助
var successFlag = false;
function prosessPromises()
{
var arrPromises = [];
angular.forEach(collection, function(item, index) {
var aPromise = promiseFunction(item);
arrPromises.push(aPromise);
});
$q.all(arrPromises).then(successFunction, failureFunction);
}
function successFunction(data) {
successFlag = true;
};
function failureFunction(error) {
successFlag = false;
};
请注意,如果一个承诺失败,那么将调用failureFunction,即使所有其他/剩余的承诺都成功了。
我同意$q.all(arrayOfPromises),然后(sucessFunction(),failureFunction())。[catch]将对此提供帮助
var successFlag = false;
function prosessPromises()
{
var arrPromises = [];
angular.forEach(collection, function(item, index) {
var aPromise = promiseFunction(item);
arrPromises.push(aPromise);
});
$q.all(arrPromises).then(successFunction, failureFunction);
}
function successFunction(data) {
successFlag = true;
};
function failureFunction(error) {
successFlag = false;
};
请注意,如果一个承诺失败,那么将调用failureFunction,即使所有其他/剩余的承诺都成功了。
感谢您的快速回复(+1),但我是angular新手,另一个答案中的示例确实有帮助,因此我接受了这个答案。它肯定更完整。我也会接受它。感谢您的快速回复(+1)但我对angular还不熟悉,另一个答案的例子真的很有帮助,所以我接受了这个答案。它肯定更完整。我也会接受的。