我正在尝试模拟这样的事情:
我的ajax请求可能在不到2秒的时间内返回但是我需要用户在弹出窗口中读取消息,并且可能在2秒后返回(但我需要它返回继续)。
我试图调查$ .when但是我找不到正确设置'计时器'部分的方法。
感谢您的帮助!
答案 0 :(得分:4)
如果您已开始使用$.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/
});