Oha*_*har 3 rest websocket angularjs
我使用基于REST API的内部AngularJS SPA,问题是一些REST请求会持续很长时间(约5-10秒).
它是ridiciolus,但它没有任何关系 - 服务器需要从不同的源获取大量数据并在响应之前将它们一起数学.
很好的解决方案是向用户显示请求状态,这里我们来到WebSockets.
显示给用户的请求状态示例
但是有一堆问题.
目前还不清楚如何让API用户发送请求以通知其状态.可能的解决方案是使字典"API客户端" - "Websocket连接",但它可能会在每次重新连接时爆炸并导致内存泄漏.不是吗?
也许解决方案是将整个REST API更改为Websockets.但它在这里看起来很多工作,但我仍然需要重新发明像缓存这样的东西.
从任何角度看它都是一团糟.这里有什么更好的解决方案?
最好同时提供REST和Websocket,因此网页可以使用websocket和自动客户端,而不支持websocket并仍然使用API.您可以异步处理这些请求,并使用REST异步模式.
HTTP 202 Accepted带有Location标头的队列端点/queue/<taskid>,提供任务的状态.Location定期轮询标头中指示的端点上的此类处理状态.HTTP 202 Accepted.HTTP 303 See Other一个Location标头,该标头将客户端重定向到处理结果的位置.Location标题中获取任务ID ,也可以只在另一个标题中提供任务ID.| 归档时间: |
|
| 查看次数: |
792 次 |
| 最近记录: |