Exercise 2: Sync vs. Async — Possible Solution ==================================================================== THE DIFFERENCE ------------------------------ better-sqlite3, used in the sibling course, is deliberately synchronous — its query methods return results directly, with no async/await needed, which is unusual among Node database libraries. Prisma Client works the opposite way: every query method (create(), findMany(), update(), and the rest) returns a Promise, so it has to be awaited like almost every other Node database tool. WHY A PRISMA ROUTE HANDLER HAS TO BE WRITTEN DIFFERENTLY ------------------------------ In the sibling course, a route handler can call a better-sqlite3 query and use its result on the very next line, with no async function wrapper required. A Prisma-backed route handler for the identical feature has to be declared as an async function, and every Prisma Client call inside it needs an await in front of it — otherwise the handler receives an unresolved Promise instead of the actual data, and tries to send that back to the client instead of a real result. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly identifies better-sqlite3 as the unusual, synchronous outlier and Prisma Client as behaving like most other Node database tools, and it connects that difference to a concrete, practical consequence — async/await becoming mandatory in every Prisma-backed route — rather than treating it as a purely theoretical distinction.