“TypeScript Obtenez le type de retour de promesse” Réponses codées

TypeScript Obtenez le type de retour de promesse

type AsyncReturnType<T extends (...args: any) => any> =
	T extends (...args: any) => Promise<infer U> ? U :
	T extends (...args: any) => infer U ? U :
	any
florinrelea

TypeScript obtient le type de promesse

function promiseOne() {
  return Promise.resolve(1)
}
    
const promisedOne = promiseOne()
    
// note PromiseLike instead of Promise, this lets it work on any thenable
type ThenArg<T> = T extends PromiseLike<infer U> ? U : T
    
type PromiseOneThenArg = ThenArg<typeof promisedOne> // => number
// or
type PromiseOneThenArg2 = ThenArg<ReturnType<typeof promiseOne>> // => number
Annoyed Alpaca

Réponses similaires à “TypeScript Obtenez le type de retour de promesse”

Questions similaires à “TypeScript Obtenez le type de retour de promesse”

Parcourir les réponses de code populaires par langue

Parcourir d'autres langages de code