Javascript 验证两个条件时执行函数:ajax响应和计时器
我试图模拟这样的情况:Javascript 验证两个条件时执行函数:ajax响应和计时器,javascript,jquery,timer,request,Javascript,Jquery,Timer,Request,我试图模拟这样的情况: 点击一个按钮会显示一个模式弹出窗口,上面写着“加载内容”,并有一个覆盖图 同时,我使用jQuery执行一个ajax调用,并启动一个2秒的计时器 一旦我从ajax调用中得到响应,我需要隐藏模式弹出窗口,我的计时器结束 我的ajax请求可能在2秒内返回,但我需要用户阅读弹出窗口中的消息,并且可能在2秒钟后返回(但我需要它返回才能继续) 我试图调查$.when,但找不到正确设置“计时器”部分的方法 谢谢你的帮助 如果设置为使用$。当时,可以创建一个在x毫秒后解析的延迟 fu
- 点击一个按钮会显示一个模式弹出窗口,上面写着“加载内容”,并有一个覆盖图
- 同时,我使用jQuery执行一个ajax调用,并启动一个2秒的计时器
- 一旦我从ajax调用中得到响应,我需要隐藏模式弹出窗口,我的计时器结束
谢谢你的帮助 如果设置为使用
$。当
时,可以创建一个在x
毫秒后解析的延迟
function timedDeferred(n) {
var deferred = jQuery.Deferred();
setTimeout(function () {
deferred.resolve();
}, n);
return deferred.promise();
}
。。。然后您可以使用$
$.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/
});
如果设置为使用$。当
时,可以创建一个在x
毫秒后解析的延迟
function timedDeferred(n) {
var deferred = jQuery.Deferred();
setTimeout(function () {
deferred.resolve();
}, n);
return deferred.promise();
}
。。。然后您可以使用$
$.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/
});
太棒了,工作得很有魅力!谢谢你这么快/清晰/简单,工作得很有魅力!谢谢你这么快/清晰/简单