1
我有一個APIService使用其他服務連接到websocket。 websocket服務返回一個類型爲Subject<MessageEvent>
的套接字。然後在我的APIService中,我想根據有效載荷將這個主題吐到不同的主題中。我APIService看起來是這樣的:根據數據將一個主題分成不同的主題
export class APIService {
public sonos: Subject<sonosData>;
public commits: Subject<commitData>;
constructor(wsService: WebsocketService) {
this.sonos = <Subject<sonosData>>wsService
.connect(WEBSOCKET_URL)
.map((response: MessageEvent) => {
let data = JSON.parse(response.data);
if(data.sonos) {
return data.sonos;
}
});
}
}
是否有另一家運營商,而不是map
,我可以使用?如果我寫一些代碼須藤這也應該是這樣的:
export class APIService {
public sonos: Subject<sonosData>;
public commits: Subject<commitData>;
constructor(wsService: WebsocketService) {
wsService
.connect(WEBSOCKET_URL)
.forEach((response: MessageEvent) => {
let data = JSON.parse(response.data);
if(data.sonos) {
this.sonos = data.sonos;
}
if(data.commits) {
this.commits = data.commits;
}
});
}
}
但隨後的公共變量不會被定義和使用它們不能向他們訂閱,導致一個錯誤,因爲我的部件。
非常感謝!它的工作,onNext方法不適合我。但接下來的方法工作,可能是同樣的權利? – trevligheten
是的。我使用Javascript實現編寫代碼片段,可能Typescript有點不同。它爲你工作的主要觀點。 –