Javascript 如何显示加载器,并在某些进程完成后显示?
我试图显示加载程序,并使所有进程等待,直到它到达最后一行。当它到达流程的最后一行时,我只是简单地Javascript 如何显示加载器,并在某些进程完成后显示?,javascript,angularjs,Javascript,Angularjs,我试图显示加载程序,并使所有进程等待,直到它到达最后一行。当它到达流程的最后一行时,我只是简单地resolveit。这样我就可以知道已经完成了。然后,我使用然后隐藏加载。但是我认为加载程序(在根范围内)没有显示,因为循环的执行速度比事件处理程序快。如何实现显示加载程序并等待进程完成,然后使用JavasScript或AngularJs隐藏加载程序 $scope.$emit("loading.show"); let promise1 = new Promise(function
resolve
it。这样我就可以知道已经完成了。然后,我使用然后
隐藏加载。但是我认为加载程序(在根范围内)没有显示,因为循环的执行速度比事件处理程序快。如何实现显示加载程序并等待进程完成,然后使用JavasScript或AngularJs隐藏加载程序
$scope.$emit("loading.show");
let promise1 = new Promise(function (resolve, reject) {
$timeout(function () {
if ($scope.rateCard.clientele !== undefined && $scope.rateCard.clientele.id !== 0) {
for (var j = 0; j < $scope.gridData.length; j++) {
var value = $scope.rateCard.clientele.name;
var gridIndex = $scope.gridData[j].findIndex(function (x) {
return x.field == 'clientele';
});
if (gridIndex > -1) {
$scope.gridData[j][gridIndex].data = value;
}
}
}
//do a lot of stuff..
resolve("success");
}, 200);
});
promise1.then(function (x) {
console.log("finished");
$scope.$emit("loading.hide");
});
$scope.$emit(“loading.show”);
let promise1=新承诺(功能(解决、拒绝){
$timeout(函数(){
如果($scope.rateCard.clientele!==未定义&&$scope.rateCard.clientele.id!==0){
对于(var j=0;j<$scope.gridData.length;j++){
var值=$scope.rateCard.clientele.name;
var gridIndex=$scope.gridData[j].findIndex(函数(x){
返回x.field==“客户”;
});
如果(gridIndex>-1){
$scope.gridData[j][gridIndex].data=value;
}
}
}
//做很多事情。。
决心(“成功”);
}, 200);
});
承诺1.然后(功能(x){
控制台日志(“完成”);
$scope.$emit(“loading.hide”);
});
尝试增加超时长度。200毫秒相当快。它可能会像预期的那样工作。尝试增加到2000。@tbone849您的意思是代码没有问题,但时间延迟?可能是问题所在。时间延迟可能很小,您可能看不到加载程序。