我有一部史诗,可以将动作通过管道传递给代表WebSocket的主题,就像这样:
const webSocketSendEpic = (action$, state$, { socket }) =>
action$.ofType('SEND_MESSAGE')
.pluck('payload')
.subscribe(socket)
但是,这不是真正的史诗,因为它返回Subscription
而不是Observable
。我可以通过在其周围加上一个块并返回EMPTY
来规避此问题,但这并不正确。实现这样的目标的正确方法是什么?
答案 0 :(得分:1)
您应该能够使用do
而不是subscribe
连接套接字,然后像对待其他任何史诗般对待它:
const webSocketSendEpic = (action$, state$, { socket }) =>
action$.ofType('SEND_MESSAGE')
.pluck('payload')
.do(socket)
.ignoreElements();
您可以使用ignoreElements
来防止该史诗发射采摘的有效载荷。