websocket ,如果直接写的话,各种onmessage
onopen
处理代码写的比较恶心
另外,写个onclose
onerror
重连,里面清理一下状态,那代码就无可避免很多上下文变量
而用 rxjs 就比较省心
const subject = webSocket('ws://localhost:8081');
subject.pipe(
retry(10)
).subscribe({
next: msg => console.log('message received: ' + msg), // Called whenever there is a message from the server.
error: err => {
console.log("err", err)
},
complete: () => console.log('complete') // Called when connection is closed (for whatever reason).
});
}
断了重连 10 次,比较省心。
1
NerdHND 28 天前
前几天还在沉迷 rxjs, 但是尝试几天发现真的可以用的地方好少, 大部分情况没这么复杂的请求. 以后做 ws webrtc 看看不知道有没有场景.
|
2
tcper OP @NerdHND ws, sse 都比较适合。
别的场景要看你对 rxjs 的熟练程度,不熟练是不会想到用 rxjs 。 另外 rxjs 的异步怎么和 react/vue 变量的同步,和状态管理的同步也是个问题。 |
3
minglanyu 16 天前
rxjs 的场景确实需要慢慢挖掘
|