java - reactJS/Axios 以及使用 Streams 处理较长的响应时间可能吗?
问题描述
我有 Java spring-boot 后端和一些数据端点。
其中之一是POST
使用 axios 的参数很少。这里的问题是请求需要很长时间才能完全完成并从服务器端发送。POST
需要在应用程序内部进行剖析和参数转发,然后计算响应。
我返回一个List<Object>
(需要事先排序)
列表的第一部分将在几秒钟内准备好,但获取整个列表需要几分钟甚至几十分钟,具体取决于发送的参数。
所以第一个问题是 Axios 抛出network error
,我认为这是因为响应时间很长。(使用较短的查询时它会消失)第二个问题是应用程序似乎对除开发人员之外的任何人都没有响应。
有没有办法使用某种 Java Stream 类型的解决方案在等待其余部分的同时发送响应的第一部分?或者可能是某种分页解决方案?
我已经用谷歌搜索了一段时间,但还没有找到任何好的解决方案来解决这个问题。
这是控制器的一部分供参考:
@RequestMapping(value = "/contracts", method = RequestMethod.POST)
public String Contracts(@RequestBody String req) throws JsonProcessingException {
//omitting parse JSON params from req string
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.writeValueAsString(DateRange.getDataForDateRange(param1, param2, param3));
}
我知道这是一个广泛的问题,但了解这样做背后的方式或技术对我所做的一切都非常有益:)
谢谢!
解决方案
苏终于得到了我的答案。
用名为DeferredResult的 java 类找到了我的答案
我不知道为什么,但似乎你再也找不到比SO 中非常基础和明显的东西更难的问题的答案了......
这是我经过几天研究后回答自己的第 n 个问题。
推荐阅读
- frontend - GoogleCreativeContainerClass 来自哪里?
- transactions - 从密码学的角度需要有关付款如何工作(授权结算清算)的资源和建议
- java - AWS lambda/api 网关不重定向
- node.js - 猫鼬不查询
- facebook - 请求 user_friends
- reactjs - 使用 TypeScript 在 React 中导出颜色
- javascript - 计算最后一个工作页面以进行抓取的最快方法
- echarts - 图表。如何更新实时图表中的两个系列?
- spring-session - 将通用 redis 代码转换为 Azure Redis 缓存
- swift - 无法在 xcode 9.2 中拖放对象