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

179
Vistas
La expresión 'rendimiento' da como resultado implícitamente un tipo 'cualquiera' porque el generador que lo contiene carece de una anotación de tipo de retorno

El primer fragmento es el código con el que estoy trabajando y debajo está el error que arroja y sucede en cada parte de "selección de rendimiento" que está en el código y no estoy seguro de cuál es mi próximo paso.

 function* onLoadingDomainsresult() { const pathname = yield select(getPathname); interface Params { hastag: string; } 'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation. TS7057 113 | 114 | function* onLoadingDomainsresult() { > 115 | const pathname = yield select(getPathname); | ^ 116 | 117 | interface Params { 118 | hastag: string;
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El tipo literal de select(getPathname) no se relaciona con el valor que obtiene del yield . select(getPathname) es el valor producido por su co-rutina a su contexto de iteración.

El valor inyectado en su generador por su contexto de ejecución (a través de la llamada next() ) SÍ importa para el tipo que obtiene de la expresión de yield .

De cualquier manera, actualmente Typescript no tiene metadatos sobre lo que obtendrá, ya que su función generadora no tiene anotación de tipo.

Supongo que esto es redux-saga.

Una anotación típica del tipo de función del Generador es algo así como...

 type WhatYouYield="foo" type WhatYouReturn="bar" type WhatYouAccept="baz" function* myfun(): Generator< WhatYouYield, WhatYouReturn, WhatYouAccept > { const myYield = "foo" //type of myYield is WhatYouYield const myAccepted = yield myYield; //type of myAccepted is WhatYouAccept return "baz" //type of this value is WhatYouReturn }

... y el error que obtiene es que Typescript tiene que adivinar el tipo WhatYouAccept sin la anotación de tipo Generador en su función.

over 4 years ago · Santiago Trujillo Denunciar

0

Recibí el mismo error y lo resolví.

 export interface ResponseGenerator{ config?:any, data?:any, headers?:any, request?:any, status?:number, statusText?:string }
 const response:ResponseGenerator = yield YOUR_YIELD_FUNCTION console.log(response.data)
over 4 years ago · Santiago Trujillo Denunciar

0

En las actualizaciones recientes de TypeScript, hay más restricciones de tipos en las funciones del generador.

Tipo 1: ceder con call

 function* initDashboard(): any { let response = yield call(getDashboardData); console.log(response); }

Tipo 2: cede sin call

 function* initDashboard() { let response: any = yield getDashboardData; console.log(response); }

Nota: Usar any es la solución más rápida, pero la solución adecuada sería crear un tipo/interfaz para la respuesta y usarla como tipo.

over 4 years ago · Santiago Trujillo 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