Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

142
Vistas
Cómo llamar a funciones de generador con React-Thunk

Estoy en proceso de convertir algunas sagas a thunks. Algunas de estas sagas tienen funciones generadoras anidadas que no puedo llamar dentro de thunks. Normalmente en una saga hago:

 const result = yield call(myFunction, anotherSaga, params);

Sin embargo, cuando trato de convertir esto a thunk como:

 export const myAction = createAsyncThunk( 'myAction', async (data: Payload, { dispatch, getState }) => { const result = myFunction(anotherSaga, params).next().value; console.log(result) }) console: @@redux-saga/IO: true combinator: false payload: {context: null, args: Array(2), fn: ƒ} type: "CALL"

No obtengo nada utilizable ya que anotherSaga tiene sagas anidadas. ¿Cómo puedo convertir esto en una función thunk?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No se puede llamar directamente a saga desde un thunk, los efectos que usan las sagas deben ser procesados por la biblioteca de saga.

Algunas posibles soluciones:

a) Convertir incluso la saga anidada en función no generadora

b) Si el resultado no es importante, puede reemplazar la call con un envío y luego usar el efecto takeEvery para llamar a la saga cuando se envíe dicha acción.

c) No recomendaría esto, pero técnicamente es posible ejecutar la saga usando la instancia de middleware de saga.

 export const myAction = createAsyncThunk( 'myAction', async (data: Payload, { dispatch, getState }) => { const task = sagaMiddleware.run(anotherSaga, params) const result = await task.toPromise() console.log(result) })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda