【发布时间】:2020-01-08 22:40:35
【问题描述】:
我有这个从 websocket 教程中复制的方法,但我不明白 observable 中“return () => { ... }” 的含义?谁能解释一下这样做的目的是什么?
public onMessage(topic: string, handler = SocketClientService.jsonHandler) : Observable<any> {
return this.connect().pipe(first(), switchMap(client => {
return new Observable<any>(observer => {
const subscription : StompSubscription = client.subscribe(topic, message => {
observer.next(handler(message));
});
return () => {
console.log("Unsubscribe from socket-client service");
client.unsubscribe(subscription .id);
}
});
}));
}
【问题讨论】:
标签: javascript angular typescript websocket observable