使用jquery和ajax的setTimeout行为

时间:2014-03-03 22:23:33

标签: javascript jquery ajax settimeout

据我了解,setTimeout()可以用来阻止代码暂时执行,但是在以下代码中似乎不是这样:

...}).done(function recursionLoad(){     
            var timerLoad = setTimeout(function(){


                },3000)

                $.ajax({
           type:'GET',
           url:'modelBN.xml',
           beforeSend: function(){$('#query-results').html('<img src="images/ajax-loader.gif"><p>Loading...</p>'); },
           timeout: 10000,
           error: function(xhr, status, error){...

所以会发生什么是立即进行AJAX调用而不是延迟3秒。我只是错误地使用setTimeout,还是有一些关于AJAX阻止它工作的东西?感谢您的帮助

1 个答案:

答案 0 :(得分:1)

setTimeout将在您在第二个参数中指定的时间之后调用您传递给它的函数(在第一个参数中)。

它不是sleep函数,也不会阻止其他代码运行。

如果您希望在时间结束后对$.ajax进行调用,则需要从传递给setTimeout的函数执行此操作(而不是调用setTimeout(使用3秒后无效的函数,然后立即调用$.ajax)。