使用Firebase列表器时未调用生成器功能

时间:2018-04-10 12:02:24

标签: reactjs firebase firebase-realtime-database redux redux-saga

我正在使用Firebase和Redux saga,并希望在firebase的监听器上附加生成器,如下所示。

var ref = firebase.database().ref(`path`)
ref.on('value',function* (snapshot){

    yield put({ type: 'SOME_ACTION' })

当我运行此程序时,不会调用回调函数。如果我删除*,它将被调用。 有没有解决方法呢?

1 个答案:

答案 0 :(得分:1)

Saga效果在所有发生器中都不起作用。仅适用于使用sagaMiddleware.runSaga()或使用callforkspawn等效果的广告。

解决问题的一种方法是使用事件频道,请参阅https://redux-saga.js.org/docs/advanced/Channels.html#using-the-eventchannel-factory-to-connect-to-external-events