पाठ 9 / 28

Async Functions और Promise Types

Promise<T> और async/await से asynchronous code type करें, और strict mode में errors सुरक्षित रूप से संभालें।

async function हमेशा Promise return करता है। Resolved type को Promise<T> के अंदर declare करें।

interface User { id: number; name: string }

async function fetchUser(id: number): Promise<User> {
  const res = await fetch(`/api/users/${id}`);
  return (await res.json()) as User;
}

const user = await fetchUser(1); // user: User

Promise.all हर position का type रखता है, और strict mode में try/catch की errors unknown होती हैं, इसलिए उन्हें narrow करें।

const [a, b] = await Promise.all([fetchUser(1), Promise.resolve("ok")]);
// a: User, b: string

try {
  await fetchUser(2);
} catch (e) {
  if (e instanceof Error) console.log(e.message);
}

त्वरित जाँच

त्वरित जाँच: `async function f(): Promise<number>` का return type क्या है?

  • number
  • Promise<number>
  • void
  • unknown
Answer

Promise<number> — Async function अपना result हमेशा Promise में wrap करता है।