Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证两个条件时执行函数:ajax响应和计时器_Javascript_Jquery_Timer_Request - Fatal编程技术网

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调用中得到响应,我需要隐藏模式弹出窗口,我的计时器结束
我的ajax请求可能在2秒内返回,但我需要用户阅读弹出窗口中的消息,并且可能在2秒钟后返回(但我需要它返回才能继续)

我试图调查$.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/
});

如果设置为使用
$。当
时,可以创建一个在
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/
});

太棒了,工作得很有魅力!谢谢你这么快/清晰/简单,工作得很有魅力!谢谢你这么快/清晰/简单