Nuxt 的 useFetch / useAsyncData / $fetch 有什么区别?
useAsyncData:通用异步数据获取,传入一个返回 Promise 的函数(适合调用自己的$fetch或第三方 SDK)useFetch:useAsyncData的语法糖,直接传 URL,内部用$fetch$fetch:底层 HTTP 客户端(基于 ofetch),可在任何地方调用(包括 server 目录),但不带响应式/生命周期管理
// 组件内
const { data, pending, error, refresh } = await useFetch('/api/users')
// 等价
const { data } = useAsyncData('users', () => $fetch('/api/users'))关键:useFetch/useAsyncData 在服务端会预取并随 HTML 注水(hydration),客户端不会重复请求,避免瀑布流;$fetch 纯客户端请求。