为了避免云功能,我决定使用NestJ (5)作为后端,并使用firebase-admin事务来保持嵌入式数据的同步。当我进行咨询时,一切似乎都很好,我的nestjs后端负责收集并加入它们,以响应我的前端应用程序的角度。但在这里,我真正的问题是:我要做什么才能使我的后端在巢中返回一个可以观察到的角度前部呢?
我想要实现的是,我的前端通过我在NestJ的后端实时检测到了防火墙的变化。
介绍我正在用Firestore中的数据库在Range7中做一个应用程序,但为了避免云功能,我决定使用NestJs (5)作为后端,并使用firebase-admin事务来保持嵌入式数据的同步。当我进行咨询时,一切似乎都很好,我的nestjs后端负责收集并加入它们,以响应我的前端应用程序的角度。但在这里,我真正的问题是:我要做什么才能使我的后端在巢中返回一个可以观察到的角度前部呢?
我想要实现的是,我的前端通过我在NestJ的后端实时检测到了防火墙的变化。
我知道,从雀巢,我们可以返回,作为一个可观测的结果,因此,从角度上,你订阅的变化,在实时。
固定恢复-> Nestjs (在Firebase函数中运行) ->角(.subscribe)
NestJs目前的职能:
async getAllAdministratorsForFirestore(): Promise<Administrator[]> {
    const administratorsSnapshot = await administratorsRef.get();
    const administrators = [];
    administratorsSnapshot.forEach(doc => {
      administrators.push(mapFirestoreDocs(doc.id, doc.data()));
    });
    return administrators;
  }当前消费者的角度:
subscribeToAdministratorsForNestJs() {
    this.http.get(nestJsEndPointUrl, options).subscribe((administrators) => {
      this.administrators = administrators;
    })
  }我想要实现的是,我的前端通过我在NestJ的后端实时检测到了防火墙的变化。
,但我该怎么做呢?
发布于 2019-03-26 02:12:53
为了实现您想要做的事情,您需要包含在NestJ中的@nestjs/websockets包和以角形式包含的ngx-socket-io包。
这样,当有人连接到生成雀巢的@WebSocketServer () server并通过该方法发送这些更改时,您可以订阅您的防火墙数据库发出的更改。
client.broadcast.emit ('change', changes);从角度上看,您只订阅事件更改:
this.socket.fromEvent ('change'). subscribe ((changes) => console.log (changes));),当连接到该套接字的用户为0时,取消订阅防火墙数据库中的更改。
https://stackoverflow.com/questions/55348801
复制相似问题