Javascript 在函数执行过程中使用BlockUI
在web应用程序中,有一个调用函数的按钮。如果我想在操作期间插入blockUI,我该怎么办?我做了承诺了吗?特别是在哪里Javascript 在函数执行过程中使用BlockUI,javascript,angularjs,promise,blockui,Javascript,Angularjs,Promise,Blockui,在web应用程序中,有一个调用函数的按钮。如果我想在操作期间插入blockUI,我该怎么办?我做了承诺了吗?特别是在哪里 $scope.eraseDB = function(){ database.destroylocalDB(); }; 职能: destroylocalDB: function(){ localDB.destroy().then(function (response) { //Remove cache datacache.
$scope.eraseDB = function(){
database.destroylocalDB();
};
职能:
destroylocalDB: function(){
localDB.destroy().then(function (response) {
//Remove cache
datacache.dr = [];
database.initDB();
}).catch(function (err) {
console.log(err);
});
}
你看过照片了吗
请看下面的图片。配置后,您只需:
destroylocalDB: function(){
blockUI.start();
localDB.destroy().then(function (response) {
blockUI.stop();
//Remove cache
datacache.dr = [];
database.initDB();
}).catch(function (err) {
blockUI.stop();
console.log(err);
});
}
编辑:
要实现您的愿望,您需要更改服务以回报承诺:
destroylocalDB: function(){
return localDB.destroy().then(function (response) {
//Remove cache
datacache.dr = [];
database.initDB();
}).catch(function (err) {
console.log(err);
});
}
因此,您可以:
$scope.eraseDB = function(){
blockUI.start();
database.destroylocalDB().then(function(){
blockUI.stop();
});
};
我没有测试,但它应该可以工作。您还可以使用微调器来阻止UI,直到后台操作完成。比如:
这并不能回答问题,作为评论会更好。首先,非常感谢。关于你的回答我有个问题。有没有办法在“擦除”按钮中执行此操作?我有点:blockUI。。。。。。因为我尝试了,但控制台说:'无法读取未定义的属性then',非常感谢,+1非常有用!