【问题标题】:reactJS/Axios and dealing with long response time with Streams maybe?reactJS/Axios 以及使用 Streams 处理较长的响应时间可能吗?
【发布时间】:2019-05-01 10:19:34
【问题描述】:

我有 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));
}

我知道这是一个广泛的问题,但了解这样做背后的方法或技术对我所做的一切都非常有益:)

谢谢!

【问题讨论】:

    标签: java reactjs rest spring-boot axios


    【解决方案1】:

    Soo 终于得到了我的答案。

    用名为 DeferredResult

    的 java 类找到了我的答案

    我不知道为什么,但您似乎无法获得任何问题的答案 比 SO 中非常基础和明显的东西更难了......

    这是我经过几天研究后回答自己的第 n 个问题..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-16
      • 2018-01-30
      • 2013-06-18
      • 2022-01-10
      • 1970-01-01
      • 2016-05-19
      相关资源
      最近更新 更多