“TypeScript Получите обещание возвращать” Ответ

TypeScript Получите обещание возвращать

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 Get Promise

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

Ответы похожие на “TypeScript Получите обещание возвращать”

Вопросы похожие на “TypeScript Получите обещание возвращать”

Больше похожих ответов на “TypeScript Получите обещание возвращать” по TypeScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования