在nuxt3中,使用alova遇到的异步问题 #189
FatNerdPeng
started this conversation in
General
Replies: 1 comment 1 reply
-
你在修改后顺序是正常的,但你在 我想再解释下为什么第一种情况会顺序相反,是因为alova的 最后还有一个小小的建议,是关于use hook使用规范的,use hook一般只会在最外层使用,而不会在语句块中使用比如if、for里或事件函数里,可以看这边,虽然在vue里这样用运行是没问题的。 关于何时使用 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
代码是这样:
“账号”这个表单项,我写了个验证函数:
因为需要,我自己在nuxt的composables目录下,创建了一个封装函数:
在这个过程中,我写了2个console,我预想的是先输出json,再输出res,但结果是相反的:
按照我的猜想,出现这个现象,是41行代码的httpRequest是异步的,所以实际还未发出请求就return了,所以先输出的是res,当然res的各属性都是undefined,然后输出json,返回了服务端响应的内容"{code:1, message:账号不存在}",我希望不希望是这种不合理的顺序,所以我给useRequest前加上await,但是它提示:
于是我又换了个思路。按照alova文档所说,nuxt3中通过alova获取同步数据,可以结合nuxt3提供的组合api
useAsyncData
实现。于是我这样写:这次的结果是顺序对了,但是服务端的响应内容前端没有正常收到:
我不知道我哪里写错了,谢谢帮助!
Beta Was this translation helpful? Give feedback.
All reactions