jQuery AJAX setTimeout回调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery AJAX setTimeout回调相关的知识,希望对你有一定的参考价值。

我正在写一个游戏而且我被困在这个部分...在战斗中我有一个骰子滚轮,必须通过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调用。由于存在不同类型的辊,因此辊必须保持通用。我将不胜感激任何帮助。可以访问在主屏幕和滚轴上创建的任何变量

答案

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

以上是关于jQuery AJAX setTimeout回调的主要内容,如果未能解决你的问题,请参考以下文章

在Ajax的回调中 使用setTimeout再次请求 造成的问题。50分求分析

javascript中setTimeout每隔1秒调用一次ajax,但回调函数只调用一次。求解。。

回调而不是 setTimeout

回调函数的使用场合

jQuery.ajax() 成功/失败回调何时调用?

使用 jQuery 的 AJAX 请求回调