Reactjs 使用Firebase listner时未调用生成器函数

Reactjs 使用Firebase listner时未调用生成器函数,reactjs,firebase,firebase-realtime-database,redux,redux-saga,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' }) 当我运行这个程序时,不会调用回调函数。如果我删除*,它将被调用。 有什么解决方法吗?Saga特效并不是在所有生成器中都有效。仅在使用sagaMiddlew

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

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

    yield put({ type: 'SOME_ACTION' })
当我运行这个程序时,不会调用回调函数。如果我删除*,它将被调用。
有什么解决方法吗?

Saga特效并不是在所有生成器中都有效。仅在使用sagaMiddleware.runSaga或使用call、fork、spawn等效果的情况下运行

解决问题的一种方法是使用事件通道,请参阅