🎯 What you'll practice: fetch(), async/await, try/catch, and Promise.all.
1-B 2-B 3-B 4-A | 5 = try 6 = boolean 7 = async function getPosts(){const res=await fetch('/api/posts');return await res.json();} 8 = fetch() only rejects on network failure, not on HTTP error statuses like 404/500 — res.ok confirms the status was actually in the 200 range before trusting the body 9 = const [a,b] = await Promise.all([fetch('/api/a').then(r=>r.json()), fetch('/api/b').then(r=>r.json())]); | 10 = Needs loading(true initially), data(empty/null initially), and error(null) state; useEffect fires the fetch on mount, sets loading false and data on success, or sets error and loading false on failure — the render checks these three states to show a spinner, the data, or an error message.