【发布时间】:2017-07-06 19:42:18
【问题描述】:
我使用 Angular 和 Spring 进行内部 API 通信。现在我需要调用外部 api 来获取一些数据。该外部 API 提供回调功能,因此我触发来自 Angular 的调用,调用 Spring rest 方法,该方法最后调用外部 API。 另一方面,我在我的回调方法(Spring rest 也)上获取数据,但我不知道如何将这些数据传输回 Angular。
websocket 是唯一的选择吗?
【问题讨论】:
-
能否在外部 API 响应之前保持客户端和 webapp 之间的连接打开?对于单个请求,打开 WebSocket 连接会有点繁重。执行此操作的典型方法是在从外部 API 检索信息之前不让服务器响应。如果外部 API 使用回调功能,您可能会考虑让线程等待回调执行,尽管这可能会根据您预期的服务器负载而变得昂贵。
-
应用部署在 Heroku 上,所以我没有保持连接的选项,因为来自外部 API 的响应通常 >30 秒,而 Heroku 中的请求超时为 30 秒。