पाठ 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: UserPromise.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 करता है।