Nuxt 3 中怎么正确使用 useAsyncData 获取 API 数据?
我在 Nuxt 3 项目里用 useAsyncData 调接口,但页面一直显示 pending 状态,数据也拿不到,是不是写法有问题?
我试过这样写:
const { data, pending } = useAsyncData('posts', () => {
return $fetch('/api/posts')
})
控制台没报错,但 data.value 始终是 null,pending.value 一直是 true。本地开发环境,API 路由是用 Nuxt 的 server/api 写的,直接访问 /api/posts 是能返回 JSON 的。
试试加个错误处理:
注意这里加了
await,因为 useAsyncData 返回的是 Ref,需要 await 才能拿到值。如果还是不行,打开浏览器 Network 面板看看请求到底有没有发出去、返回了什么。