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

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

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 Report

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 Report

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 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!