我有一个Node.js后端和一个Angular前端。我希望Angular每次在后端触发一个函数时都能得到通知。现在,我不想使用计时器一次又一次地访问后端。相反,我想要一个恒定的订阅。 您能提出一种不涉及套接字的方法吗?
答案 0 :(得分:0)
您是否尝试过发布-订阅模式。 我建议您使用队列/主题,例如https://www.rabbitmq.com/。 每次在后端触发该功能时,请将消息发送到队列/主题。 使角度应用成为该队列/主题的订阅者。
答案 1 :(得分:0)
正如杰森·怀特(Jason White)所述,如果您不想使用Web套接字,则可以使用EventSource。见
https://itnext.io/event-source-with-angular-c9f7f5369082(用于Angular客户端实现)
和
https://medium.com/conectric-networks/a-look-at-server-sent-events-54a77f8d6ff7作为节点服务器实现的示例
但是,请记住EventSource在IE或Edge中不起作用。