Estoy trabajando en una aplicación de reacción en la que quiero bloquear la ejecución en el yield put y solo se reanuda después de que se completa el rendimiento puesto. ¿Cómo puedo hacerlo en redux reaccionar?
yield put(ActionCreator.setPageNumber(page_number + 1));Tengo que implementar una funcionalidad de desplazamiento de tabla que incrementa el número de página cada vez y luego hace la llamada api con el número de página actualizado, el rendimiento anterior incrementa el número de página, pero como el rendimiento puesto es de naturaleza no bloqueante, la llamada api no espera para el incremento de página y realiza la llamada api con el número de página no incrementado.
¡Cualquier pista definitivamente ayudaría!
Puede agregar un observador de saga separado con take , que es un efecto de bloqueo
export default function* TableScrollerSagaWatcher() { yield take('INCREMENT_PAGE_NUMBER_SUCCESS',tableScroller) /* assuming INCREMENT_PAGE_NUMBER_SUCCESS is the action type dispatched from the put call & tableScroller is the saga worker which would make the api call.*/ } const tableScroller = function*(){ yield select() // select the page number from the store yield call() // make api call }