Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

140
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!