Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

小程序的script setup不支持顶层await语法 #3678

Open
Michael-py001 opened this issue Jul 2, 2022 · 7 comments
Open

小程序的script setup不支持顶层await语法 #3678

Michael-py001 opened this issue Jul 2, 2022 · 7 comments

Comments

@Michael-py001
Copy link

Michael-py001 commented Jul 2, 2022

问题描述
小程序的script setup不支持顶层await语法

复现步骤

<script setup>
  let res = await http()
<script>

上面的语法编译到小程序,会出现以下报错。
因为现在不支持Suspense组件的原因导致报错吗,能不能兼容一下小程序?
现在的选择只有1. 使用then 但是这样不优雅 2. 使用script()选项式语法
但是这样就失去了vue3的script setup的易用性,中看不中用
image

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

预期结果
可以运行正常

实际结果
报错

系统信息:
系统信息:
微信小程序
HBuilder X 3.5.0 alpha

@shier112
Copy link

shier112 commented Jul 2, 2022

应该是还不支持顶层await吧

@Michael-py001 Michael-py001 changed the title 小程序的script setup不支持await语法 小程序的script setup不支持顶层await语法 Jul 2, 2022
@Michael-py001
Copy link
Author

@shier112 是的,就是不支持顶层await

@sishen654
Copy link

在外部写函数,引入,执行且返回这个函数。在外部函数中用 async await

@Michael-py001
Copy link
Author

@WorldToCode 我试了一下,在外部函数使用 async await是可以,但是你在引用的页面直接执行这个外部函数,是同步执行的,得到的结果是一个promise,还没拿到最终的结果,必须要使用异步才行

@sishen654
Copy link

@WorldToCode 我试了一下,在外部函数使用 async await是可以,但是你在引用的页面直接执行这个外部函数,是同步执行的,得到的结果是一个promise,还没拿到最终的结果,必须要使用异步才行

好像也是,async默认返回一个promise对象,那还是等官方实现了

@fxy060608
Copy link
Collaborator

小程序端目前不支持Suspense,所以不支持顶层await

@carveybunt
Copy link

setup 我怎么用不了呢?难道是hbuilder版本问题?我也是用的VUE3啊。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants