Каналы Saga Event не передают обратный вызов - PullRequest
0 голосов
/ 21 февраля 2019

Изучение каналов событий Saga для прослушивания пользовательских событий и не может решить проблему.

проблема: функция startlistner () не вызывается из корневой функции при вызове

const channel = yield call(startlistner);

полный код

import { eventChannel } from "redux-saga";
import { take, fork, call } from "@redux-saga/core/effects";

export default function handleclick() {
root().next();
}

function* root() {
const channel = yield call(startlistner);
while (true) {
const { data } = yield take(channel);
console.log("while");
 }
}

function startlistner() {
console.log("da");
const channel = eventChannel(emmiter => {
emmiter({ data: null });
return () => {};
});
}

Спасибо за любую помощь, которую вы можете предоставить.

1 Ответ

0 голосов
/ 22 февраля 2019

Каналы событий Saga не передают обратный вызов

В вашем startlistner() вы не вернули канал событий.

function startlistner() {
  const channel = eventChannel(emmiter => {
    emmiter({ data: null }); // for emitting action
    return () => {};         // for unsubscribe
  });

  return channel;            // return event channel to caller.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...