Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Java 如何将Spring MVC的延迟结果发送回客户端(angular js)_Java_Angularjs_Spring_Spring Mvc - Fatal编程技术网

Java 如何将Spring MVC的延迟结果发送回客户端(angular js)

Java 如何将Spring MVC的延迟结果发送回客户端(angular js),java,angularjs,spring,spring-mvc,Java,Angularjs,Spring,Spring Mvc,我对Spring MVC和AngularJS非常陌生。应用程序基本上在两个db实例中的选定表之间进行同步。调用sync时,将在服务器端调用以下服务,如下所示: @RequestMapping(value = "configversion/{srcConfVersionId}/sync", method = RequestMethod.POST) @ModelAttribute(DEFAULT_MODEL_ATTR_NAME) @ResponseBody public CustomResponse

我对Spring MVC和AngularJS非常陌生。应用程序基本上在两个db实例中的选定表之间进行同步。调用sync时,将在服务器端调用以下服务,如下所示:

@RequestMapping(value = "configversion/{srcConfVersionId}/sync", method = RequestMethod.POST)
@ModelAttribute(DEFAULT_MODEL_ATTR_NAME)
@ResponseBody
public CustomResponse syncConfigurations(@PathVariable Long srcConfVersionId, @RequestBody SyncDTO dto) {
    Date processingTime = new Date();
    dto.setSrcConfVersionId(srcConfVersionId);

    DeferredResult<Object> deferredResult = new DeferredResult<>();
    SyncProcessingTask task = new SyncProcessingTask( dataSyncService, deferredResult, srcConfVersionId, dto);

    Timer timer = new Timer();
    timer.schedule(task, processingTime);
    return new CustomResponse(deferredResult);
}
@RequestMapping(value=“configversion/{srcconversionid}/sync”,method=RequestMethod.POST)
@ModelAttribute(默认的\u模型\u属性\u名称)
@应答器
公共CustomResponse SyncConfiguration(@PathVariable Long srcConfVersionId,@RequestBody SyncDTO dto){
日期处理时间=新日期();
dto.setsrcconversionid(srcconversionid);
DeferredResult DeferredResult=新的DeferredResult();
SyncProcessingTask任务=新的SyncProcessingTask(dataSyncService、deferredResult、srcConfVersionId、dto);
定时器=新定时器();
时间表(任务、处理时间);
返回新的CustomResponse(递延结果);
}
据我所知,
DeferredResult
用于异步过程,在异步过程中,可以在将来读取结果


单击“同步”按钮后,从前端进入新页面,其中列出了同步结果。当服务器在后台继续运行时,客户端显示“正在进行”状态。现在的问题是如何检查从AngularJS端更改的
DeferredResult

您需要使用DeferredResult的回调方法。执行以下步骤

DeferredResult.onCompletion(Runnable callback);

您需要使用DeferredResult的回调方法。执行以下步骤

DeferredResult.onCompletion(Runnable callback);