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

145
Views
¿Cómo mantener la escritura en la función de devolución de llamada en mecanografiado?

La función foo devuelve un objeto. mecanografiado se conoce sobre la escritura que devuelve prop1 y prop2 envuelven en promesa:

 const foo: ({ a, b }: { a: any; b: any; }) => Promise<{ prop1: string; prop2: string; }>

Pero cuando envuelvo la función foo con la función fn , entonces la variable b que crea la devolución de llamada pierde el tipeo y se convierte en const b: (a?: any, b?: any, c?: any) => Promise<any> .

Mi pregunta es cómo arreglar eso para que TypeScript pueda saber sobre la escritura. lo que trato de obtener es la variable b será el tipo de la función que paso. en este caso es la función foo . Como eso:

 const b: Promise<{ prop1: string; prop2: string; }>

Intento usar T : const fn = <T>(cb: T) => { pero arroja un error en la devolución de llamada y no estoy seguro de lo que significa. No sé si corrijo en esto.

apilar

 const foo = async ({ a, b }) => { console.log({ a, b }); return { prop1: 'prop1', prop2: 'prop2', }; }; const fn = (cb) => { return async (a = null, b = null, c = null) => { const results = cb({ a, b }); if (results) { return c(); } }; }; const bar = () => fn(foo); const b = bar(); // const b: (a?: any, b?: any, c?: any) => Promise<any>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

si entiendo bien tu pregunta puedes hacer algo como esto

 const fn = <T>(cb: ({a, b}: any) => Promise<T>) => { return async (a = null, b = null, c:() => T | null = null) => { const results = cb({ a, b }); if (results) { return c(); } }; };
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!