【发布时间】:2022-01-15 13:48:31
【问题描述】:
我的项目是一个全栈应用程序,其中一个 Web 客户端订阅了一个未就绪的对象。当订阅被触发时,后端将对那个未准备好的对象运行一个观察循环,直到它准备好。发生这种情况时,它会通过 socketIO 向前端发送一条消息(欢迎提出建议,我不太确定这是否是最好的方法)。我的问题是如何构建观察循环。
我的前端基本上订阅了后端,如果订阅正确,则返回 200 并通过 Websocket (socketIO) 连接到服务器,如果出现问题,则返回错误 4XX 代码。在后端,当用户订阅时,它应该为该用户启动,一个“线程”(我知道 Nodejs 不支持线程,它只是用于心理图像)每隔 10 秒左右从 api 轮询一次信息。
我这样做是因为我轮询的 API 不支持 WebHooks,所以我需要观察 API 响应,直到它处于我想要的状态(这部分我已经清除了)。
我要问的是,是否有第三方库实际上是为这类任务设计的?我应该使用由类抽象的工作线程还是简单的 setTimeouts?响应将通过 SocketIO 发送,这部分我也已经开始工作了,这只是我正在使用的方法,我不太清楚如何构建。
我也愿意使用另一种合适的编程语言,使解决这个问题更容易。我不着急。
【问题讨论】:
标签: node.js multithreading service polling worker