【发布时间】:2017-09-06 23:44:11
【问题描述】:
是否可以向客户端发送响应并在其他线程上做一些工作,然后向客户端发送另一个响应,该工作完成了吗?
当前状态:在我的异步回调方法中调用 next() 块之前,用户不会获得任何数据。 预期:获取第一个响应,然后将第二个响应附加到第一个响应。可能吗?或者它甚至没有意义?
【问题讨论】:
标签: swift asynchronous server backend kitura
是否可以向客户端发送响应并在其他线程上做一些工作,然后向客户端发送另一个响应,该工作完成了吗?
当前状态:在我的异步回调方法中调用 next() 块之前,用户不会获得任何数据。 预期:获取第一个响应,然后将第二个响应附加到第一个响应。可能吗?或者它甚至没有意义?
【问题讨论】:
标签: swift asynchronous server backend kitura
我认为 HTTP 标准不允许服务器在每个请求中多次响应。几个 Stack Overflow 的答案都提到了这一点:
https://stackoverflow.com/a/2966735
https://stackoverflow.com/a/31224172
https://stackoverflow.com/a/29529139
您的用例听起来更像是客户端-服务器消息传递;我建议查看Kitura-Websocket 看看是否可以解决您的问题。
【讨论】:
Kitura RouterResponse 缓冲响应直到 end() 被调用。所以目前没有办法做你想做的事。这可能会在未来的 Kitura 版本中发生变化。
【讨论】: