无法在 Chrome 中的控制代码执行过程中显示弹出窗口

Unable to show a pop-up in the middle of a control code execution in Chrome

我想在控件中执行代码时显示弹出窗口,但弹出窗口仅在执行结束时出现(所以当控制权再次移交给地图时?) 在 Firefox 中,这按预期工作,但在 Chrome 或 Edge 中没有。

代码:

rg.regioPrint = function(opt_options) {
    this.options = options;
    var element = document.createElement('div');
    element.className = 'ol-unselectable ol-control rg-control-button';
    var button = document.createElement('button');
    element.appendChild(button);
    var this_ = this;
    button.onclick = function(e) {
        this_.doPrint();

    };
    ol.control.Control.call(this, { element: element });

};
ol_inherits(rg.regioPrint, ol.control.Control);

rg.regioPrint.prototype.doPrint = function() {
// options.busyControl is a control that is added to the map earlier
// with map.addControl(ctl = new ....) and is working perfectly fine when 
// called in other circumstances
    this.options.busyControl.show();     
    // do some lengthy stuff
};

弹出窗口仅出现在 'lengthy stuff' 的末尾。 但是,在 FF 中,它有效! 我可以用另一种可能更好的方式实现 Chrome/Edge 吗? 谢谢你的帮助。 林德

Mike 的评论是解决方案。我将 'lengthy stuff' 包裹在超时中,这就解决了它。