执行功能时2个条件已被验证:Ajax响应和定时器

执行功能时2个条件已被验证:Ajax响应和定时器

问题描述:

我试图模仿这样的事情:执行功能时2个条件已被验证:Ajax响应和定时器

  • 上点击一个按钮显示一个模式弹出说“装东西”,具有覆盖
  • 在此期间,我执行与jQuery的Ajax调用,并让2秒的计时器开始
  • 我需要隐藏模式弹出一次,我从Ajax调用我的计时器结束的响应。

我的AJAX请求可返回在小于2秒,但我需要用户在弹出来读取该消息,并且可以在2秒后返回(但我需要它返回到继续进行)。

我试图调查$ .when,但我找不到正确设置'计时器'部分的方法。

感谢您的帮助!

如果您使用$.when设置,您可以创建一个延迟,该延迟在x毫秒后解析;

function timedDeferred(n) { 
    var deferred = jQuery.Deferred(); 

    setTimeout(function() { 
     deferred.resolve(); 
    }, n); 

    return deferred.promise(); 
} 

...然后你可以使用$.when;

$.when($.ajax(), timedDeferred(2000)).then(function (ajax) { 
    // "ajax" is an array of the arguments that $.ajax() provides; see 
    // the bottom of http://api.jquery.com/jQuery.when/ 
}); 
+0

精彩,工作就像一个魅力!感谢您如此快速/清晰/简单 – ilPittiz 2013-02-20 17:26:26