0
Observable.if
を使用して、どのアクションをディスパッチするかを決定しています。Observable.ifを使用すると、1つのブランチの機能が常に実行されます。
true
であるため、以下のコードはACTION1
です。正しいです。
しかし、私はmyFunction()
は私が期待していなかったにも動作していることがわかりました。
任意の説明は素晴らしいものです。おかげ
myFunction() {
console.log('I did not expect this run');
return 1;
}
export const myEpic = (action$, store) =>
action$
.ofType('ACTION')
.mergeMap(() =>
Observable.if(
() => true,
Observable.of({ type: 'ACTION1' }),
Observable.of({ type: 'ACTION2', payload: myFunction() })
));
「Observable.defer」で囲みます。 'defer'がなければ、' Observable.if'が構成されているときに値がObservable.ofに渡されるときに呼び出されなければなりません。 'Observable.defer(()=> Observable.of({type: 'ACTION2'、payload:myFunction()}))' – cartant
うわー、うまくいきました。 –