【发布时间】:2020-09-04 01:34:34
【问题描述】:
我正在尝试学习 Node.js 和适当的设计方法。
我已经实现了一个小型 API 服务器(使用 express),它根据使用 API 的客户端请求从多个远程站点获取一组数据。
这个过程可能需要一些时间(几个 fecth / await),所以我希望用户知道他的要求如何。我已经阅读了有关 socket.io / websockets 的信息,但对于这种情况来说,这可能是一种矫枉过正的解决方案。
所以我做的是:
- 对于每个客户端请求,都会生成一个 requestID 并返回给客户端。
- 使用该 ID,客户端可以随时查询 API(通过另一个端点)以了解其请求状态。
- 在客户端页面上使用 setTimeout() 和一些 DOM 操作,我可以每 X 更新和显示当前请求状态,例如投票方法。
虽然解决方案运行良好,即使有多个客户端同时连接,也许有更好的解决方案?有什么我没有考虑的警告吗?
【问题讨论】:
标签: node.js design-patterns polling