これまでのところ、叙事詩のパターンは「アクション内のアクション」です。奇妙な `Uncaught TypeError ::` Observable.fromNodeCallback`からストリームを返す際に、未知の型が返されました
私はMeteorJSを使用しているため、Meteorメソッドを呼び出してサーバーとやり取りするための規約に従う必要があります。このようになり
:
Meteor.call("<function-name>", ...args, callback)
だから私はこのような叙事詩で非同期副作用を処理しよう:
completedSubscribe
is just an action creator:const completedSubscribe = result => {type: SUCCEED, result}
import { Observable } from 'rx'
const fromMeteorCall = Observable.fromNodeCallback(Meteor.call)
const subscriptionsEpic = action$ =>
action$.ofType(REQUEST_SUBSCRIBE)
.mergeMap(action => {
const call$ = fromMeteorCall('subscriptions.insert', action.email)
return call$.map(completedSubscribe)
})
は、その後、私はエラーを得た:Uncaught TypeError: unknown type returned
私が実際に行動を返すようにするには、
私が購読呼び出そう:
call$.subscribe(
function (x) { console.log('onNext: success!'); },
function (e) { console.log('onError: %s', e); },
function() { console.log('onCompleted'); }
);
その後、完全に
を作品を購読するが、叙事詩はまだ動作してUncaught TypeError: unknown type returned
を投げ維持することはできません。
MeteorJSのメソッドの問題ではないかもしれないと思いますが、 コールバックから作成された他のオブザーバブルでこの問題が発生している可能性があります。
多分私はredux-observable
またはrxjs
について何かを誤解しているかもしれません。 意見は非常に参考になります。