Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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调用在Java线程完成执行任务之前完成_Javascript_Jquery_Ajax_Multithreading_Servlets - Fatal编程技术网

Javascript Ajax调用在Java线程完成执行任务之前完成

Javascript Ajax调用在Java线程完成执行任务之前完成,javascript,jquery,ajax,multithreading,servlets,Javascript,Jquery,Ajax,Multithreading,Servlets,这就是现在发生的事情 我使用jQueryAjax调用服务器端Servlet代码 Servlet代码使用线程从远程位置读取属性文件并将其写入Servlet响应对象 Ajax调用在启动线程时完成 我希望Ajax调用等待线程完成其任务。我尝试在调用方法时使用JQuery,但没有调用它(使用JQuery版本2+) $.when(loadProperty()).done(函数(a1){ 警报(“加载程序完成:”+a1); });同样,不要直接在servlet中运行线程,在您的情况下,这是完全没有意义的

这就是现在发生的事情

  • 我使用jQueryAjax调用服务器端Servlet代码

  • Servlet代码使用线程从远程位置读取属性文件并将其写入Servlet响应对象

  • Ajax调用在启动线程时完成
  • 我希望Ajax调用等待线程完成其任务。我尝试在调用方法时使用JQuery,但没有调用它(使用JQuery版本2+)

    $.when(loadProperty()).done(函数(a1){
    警报(“加载程序完成:”+a1);
    
    });同样,不要直接在servlet中运行线程,在您的情况下,这是完全没有意义的

    新线程意味着,新工作应该异步启动。这意味着当您运行一个nw线程时,servlet将继续其工作并响应客户机,这可能比新线程初始化的时间要早

    您不能为此情况运行新线程

    如果结果/消息准备好了,那么尽快响应它,客户机就会得到它。
    您可以阅读更多关于servlet上下文和线程的信息。在servlet上下文中不能简单地以这种方式运行线程

    是否为ajax调用设置了async:false?a.函数不会返回任何内容。B.一旦您确定了Ajax调用为何在Servlet上启动新线程时结束?我希望您在进行Ajax调用时已经尝试过此选项:async:false,