RxJS:在应用程序中的Node.js服务器上我正在处理我试图确定哪个更好:处理来自observables的所有输出辐射的单个流(通过套接字连接进一步发射) ,或者将我的观察分为几类。相对于另一种方式有什么缺点吗?让我说明我试图问...RxJS:单可观测数据比多个独立可观测数据有什么缺点?
例如:如果你是做一个聊天应用程序,你会建立一个单一的数据流,并有通过聊天室过滤掉订阅如:
handleEverythingObservable // STREAM OF ALL ROOMS
.filter(obj => obj.chatRoom === joinedChatRoom)
.subscribe(emitToConnectedSocket);
或者你将有一个划分流进行分类,如客房,并有多个独立的流,就像一个对象:
objectOfObservables = {
room1: room1Observable, // STREAM OF A SINGLE ROOM
room2: room2Observable // STREAM OF A SINGLE ROOM
};
objectOfObservables.room1.subscribe(emitToConnectedSocket);
// NO FILTERING NECESSARY
是否有任何的设计原则,这将导致你比其他选择的一种方式,或你甚至会做一些完全不同的事情吗?选择其中一种模式会有什么不利吗?如果单个观察者必须处理每一个对象,看起来可能会有阻塞的机会。 我在想,如果我划分了流,我可以终止它们,如果它们是空的,并且当用户正在寻找特定房间时重新打开它们。
感谢您的回复。我喜欢你的方式。我将在单一流中构造它以保持简单。 –