jQuery AJAX setTimeout回调

问题描述 投票:0回答:1

我正在写一个游戏而且我被困在这个部分...在战斗中我有一个骰子滚轮,必须通过Ajax加载和我继续运行的问题是如何调用滚轮然后等待用户滚动然后继续战斗我觉得它只是我的触手可及。我试过了...

function continuecombat(enemyid,character,action)
{////gets the modal
    $.ajax({
        url: url,
        type:"post",
        data:{dice:"",reason:action,characterid:cid,eid:enemyid},
        success: function(newHTML, textStatus, jqXHR) 
        {
            $(newHTML).appendTo('body').modal({
                escapeClose: false,
                clickClose: false,
                showClose: false  
            }); 
        }
    });
    getcontinueroll(enemyid,character);
}
function getcontinueroll(enemyid,character)
{ ///// checks to see if the dice has been rolled
    $.ajax({
        url: url,
        type:"post",
        data:{action:"getroll",charid:cid},
        success: function(roll) 
        {
            if(roll== "0")
            {
                setTimeout(function() 
                 {
                      getcontinueroll(enemyid,character)
                 },2000);
            }
            else
            {
                getcontinueactions(roll,enemyid,character);
            }
        }
    }); 
}

然后将骰子标记为滚动

function after_roll(notation, result) 
{
    $.ajax({
        url: url,
        type:"post",
        data:{"action":"markroll","charid":cid,"roll":result},
        success: function(newHTML) 
        {

        }
    });
}

但是这会导致在战斗结束后继续进行额外的ajax调用。由于存在不同类型的辊,因此辊必须保持通用。我将不胜感激任何帮助。可以访问在主屏幕和滚轴上创建的任何变量

javascript jquery ajax promise modal-dialog
1个回答
-1
投票

经过几天的考虑,解决方案让我面对面,我已经将信息传递给模态,所以我只是将函数调用移动到滚动分辨率并绕过了检查滚动的ajax调用。有时,解决问题的最佳方法就是走开。

© www.soinside.com 2019 - 2024. All rights reserved.