请问在Nest.js中,返回observable有什么应用场景?
发布于 7 年前 作者 soluty 3973 次浏览 来自 问答

入职新公司,打算对公司主要应用微服务化,目前在研究三个框架,一个egg.js,一个nest.js,还有一个molecular.js,其中nest有一个特性比较吸引我,就是controller直接可以返回observable, 我在前端曾简单的用过rxjs,后端不知道应用场景在哪里,我试了一下在nest.js的demo中直接返回 Observerble.interval(1000).take(3),从语义上来说浏览器应该每隔一秒分别显示0,1,2,但是3秒以后我只在浏览器看到2显示出来,显然浏览器是不会自动订阅我们在nest.js中return的流了。 还有一种情况是通过http直接调用api了,但是客户端http好像我也不知道有哪个是基于observable的,那么nest.js的这个应用场景是在什么地方呢?或者说我是不是对其理解有问题,请用过nest.js的哥们,特别是notadd的兄弟帮忙解惑,十分感谢~~

下面是我在notadd提供的中文文档中摘出来的一段话: 此外, Nest 路由处理程序更强大。它可以返回一个 Rxjs observable 的流,使得在简单的 web 应用程序和 微服务 之间的迁移更加容易。

2 回复

用在需要服务器主动推送消息到客户端的场景, 比如股票的变化, 客户端拉取的话, 无论时间间隔多短都是不合适的, 应该服务器发现数据发生变化时, 主动推送到客户端

服务器主动推送消息到客户端目前我所知一般就是socket.io,然后由客户端包装Subject,这种后端直接返回Subject的话是前端不用包装了么。

回到顶部