这对某些人来说可能很简单。
我正在一个已经实现了bootbox的网站上工作。我试着使用一个简单的对话框,就像它在整个网站上使用的一样,但是对话框弹出总是在我缓慢的代码运行后出现。
我有一个函数self.myFunction,它有一个有点慢的循环(由于knockout处理foreach的方式),所以弹出窗口应该在循环运行时显示,但要等到循环完成后才显示。
我试过改变代码中的顺序,试过在循环中加入对话框(从技术上讲,这是可行的,但不是我所需要的),试过在调用后设置一个超时,让对话框出现,但这也要等到循环完成后才能执行。
self.checkPermCol = function () {
//call bootbox
bootbox.dialog({
size: 'small',
message: '<div class="text-center"><i class="fal fa-spin fa-spinner"></i>Please wait...</div>'
});
//some logic
var setTo = "N";
if ($('#' + event.target.id).prop("checked")) {
setTo = "Y";
}
ko.utils.arrayForEach(self.user().Securities(), function (security) {
security[event.target.id](setTo);
});
//dismiss bootbox
bootbox.hideAll();
return true;
};
我希望弹出窗口显示,而循环通过的东西,并为它消失后,立即循环。
弹出窗口出现在循环之后,并立即被取消(只有在删除hideAll时才能看到它);
干杯,任何帮助都是感激不尽的
1条答案
按热度按时间3bygqnnd1#
一旦模态显示如下,您可以尝试执行其余代码:
参考此处:http://bootboxjs.com/documentation.html