Я хочу понять, что происходит, когда я напрямую перенаправляю к действию $ и пытаюсь использовать оператор forkJoin
const action1 = { type: "ACTION_1" };
const action2 = { type: "ACTION_2" };
в switchMap forkJoin работает нормально.
export const testForkJoinSwitchMap: Epic<Action> = action$ =>
action$.pipe(
ofType(action1),
switchMap(() =>
forkJoin(
from(fetch("https://api.github.com/users")).pipe(
map((res: any) => {
return res;
})
)
)
),
map((data: any) => {
// do something with data
return action2;
})
);
Если явынул его из switchMap, затем:
export const testForkJoin: Epic<Action> = action$ =>
action$.pipe(
ofType(action1),
forkJoin(from(fetch("https://api.github.com/users"))).pipe(
map((response: any) => {
return action2;
})
)
);
Я получаю сообщение об ошибке:
Argument of type 'Observable<{ type: string; }>' is not assignable to parameter of type 'OperatorFunction<{}, Action<any>>'.
Я хочу знать, почему он не компилируется?и причина несоответствия типов: что делает в этом случае эпики без forkJoin недействительными в этом случае?
edit: я знаю, что forkJoin не имеет смысла для одной наблюдаемой, но я поставил 1, чтобы уменьшить пример