Javascript 确认框和内部for循环未等待用户操作…所有确认框同时出现

Javascript 确认框和内部for循环未等待用户操作…所有确认框同时出现,javascript,for-loop,confirmation,Javascript,For Loop,Confirmation,我有以下for循环代码 for (var i = 0; i < selection.docs.length; ++i) { callDeleteElement(paramsdoc); } 假设 如果for循环运行5次,则同时会出现5条确认消息。。 但我想在这 第一条确认消息出现 用户选择是/否 处理后,将显示第二条确认消息 有人能帮我吗 模态代码: window.$ConfirmBoxModal = function(isModal, title,content,confirmCb,

我有以下for循环代码

for (var i = 0; i < selection.docs.length; ++i) {
  callDeleteElement(paramsdoc);
}
假设

如果for循环运行5次,则同时会出现5条确认消息。。 但我想在这

  • 第一条确认消息出现
  • 用户选择是/否
  • 处理后,将显示第二条确认消息
  • 有人能帮我吗

    模态代码:

    window.$ConfirmBoxModal = function(isModal, title,content,confirmCb,cancelCb){
            var btns = {};
            btns[$Label('btn.confirm')] = function(){
                confirmCb();
                $(this).dialog('destroy');
            };
            btns[$Label('btn.cancel')] = (cancelCb && $.isFunction(cancelCb))
                                            ?cancelCb
                                            :function(evt) {$(this).dialog('destroy');};
            var params = {
                titre: title,
                texte: content,
                btns: btns,
                withBtnClose: false,
                options: {
                    modal: isModal,
                    closeOnEscape: false,
                    close: function(event, ui){
                        $(this).dialog( 'destroy' );
                        $(this).remove();
                    }
                }
            }
            return $DialogBox(params);
        }
    

    我不确定
    $ServerApi
    是什么,但我猜它只是异步的。在这种情况下,您必须研究这个函数代表什么,然后用async解决这个问题。您使用的是相同的框架还是类似的东西?这可能会有所帮助。另外,
    $ServerApi
    函数中的第二个参数似乎是callback(在这种情况下,您应该将
    $confirboxmodal
    放入此匿名函数回调中);同样,如果您可以提供这些函数的源(
    $ServerApi
    $confirboxmodal
    ),可能会有所帮助;谢谢您的回复。.我正在提供代码
    $ServerApi
    如何?
    window.$ConfirmBoxModal = function(isModal, title,content,confirmCb,cancelCb){
            var btns = {};
            btns[$Label('btn.confirm')] = function(){
                confirmCb();
                $(this).dialog('destroy');
            };
            btns[$Label('btn.cancel')] = (cancelCb && $.isFunction(cancelCb))
                                            ?cancelCb
                                            :function(evt) {$(this).dialog('destroy');};
            var params = {
                titre: title,
                texte: content,
                btns: btns,
                withBtnClose: false,
                options: {
                    modal: isModal,
                    closeOnEscape: false,
                    close: function(event, ui){
                        $(this).dialog( 'destroy' );
                        $(this).remove();
                    }
                }
            }
            return $DialogBox(params);
        }