Я обхожу голову вокруг Redux Saga, и мне нужно запустить действие после события
yield dash.isReady()
? put(new GoToScene(sceneInstance.sceneId))
: dash.on(MediaPlayer.events.STREAM_INITIALIZED, e => {
console.log('stream ready')
put(new GoToScene(sceneInstance.sceneId))
})
, т.е. если оно готово немедленно выстрелить, если не дождаться события перед выстрелом.
Я видел EventChannels, но не совсем понимаю, как бы я это реализовал.
Я пробовал что-то вроде
const mediaReady = () => yield put(new GoToScene(sceneId))
yield dash.isReady()
? mediaReady
: eventChannel(emit => {
dash.on(MediaPlayer.events.STREAM_INITIALIZED, mediaReady)
return dash.off(MediaPlayer.events.STREAM_INITIALIZED, mediaReady)
})
Есть какие-нибудь подсказки?