Я пытаюсь использовать функцию генератора, чтобы остановить и запустить службу записи в Redux Saga.
Что-то вроде:
function* recorder(action: StartRecord | EndRecord){
var recorder
if(action.type === RecorderTypes.START_RECORD)
recorder = yield start()
else
yield recorder.stop()
}
Однако этот рекордер перезаписывается при каждом вызове.
Я новичок в функциях генератора, но я вроде понял, что они сохранили свои переменные ..
Я пытался объявить его глобальным вне функции, но это тоже не помогло.
РЕДАКТИРОВАТЬ Я пытался использовать контекст, но объект, кажется, не сохраняет
function* recorder(action: StartRecord | EndRecord){
if(action.type === RecorderTypes.START_RECORD){
const recorder = yield start()
yield setContext({recorder})
}
else{
const recorder = yield getContext('recorder')
console.log(recorder)
recorder.stop()
}
}