繁体   English   中英

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

[英]How deferredresult of Spring MVC is sent back to client(angular js)

我是Spring MVC和AngularJS的新手。 该应用程序基本上在两个数据库实例中的选定表之间进行同步。 调用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);
}

据我所知, DeferredResult用于异步处理,将来可以读取结果。

单击同步按钮后,从前端侧进入新页面,列出同步结果。 当服务器在后台继续时,客户端显示“In Progess”状态。 现在问题是如何检查DeferredResult是否从AngularJS方面改变了?

您需要使用DeferredResult的回调方法。 实施以下内容。

DeferredResult.onCompletion(Runnable callback);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM