uni-app
uni-app copied to clipboard
小程序的script setup不支持顶层await语法
问题描述 小程序的script setup不支持顶层await语法
复现步骤
<script setup>
let res = await http()
<script>
上面的语法编译到小程序,会出现以下报错。
因为现在不支持Suspense组件的原因导致报错吗,能不能兼容一下小程序?
现在的选择只有1. 使用then 但是这样不优雅 2. 使用script()选项式语法
但是这样就失去了vue3的script setup的易用性,中看不中用

还有官方的文档该更新了,现在不是全端支持Vite编译了吗,文档上还没更新

预期结果 可以运行正常
实际结果 报错
系统信息: 系统信息: 微信小程序 HBuilder X 3.5.0 alpha
应该是还不支持顶层await吧
@shier112 是的,就是不支持顶层await
在外部写函数,引入,执行且返回这个函数。在外部函数中用 async await
@WorldToCode 我试了一下,在外部函数使用 async await是可以,但是你在引用的页面直接执行这个外部函数,是同步执行的,得到的结果是一个promise,还没拿到最终的结果,必须要使用异步才行
@WorldToCode 我试了一下,在外部函数使用 async await是可以,但是你在引用的页面直接执行这个外部函数,是同步执行的,得到的结果是一个promise,还没拿到最终的结果,必须要使用异步才行
好像也是,async默认返回一个promise对象,那还是等官方实现了
小程序端目前不支持Suspense,所以不支持顶层await
setup 我怎么用不了呢?难道是hbuilder版本问题?我也是用的VUE3啊。