在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
Uh oh!
There was an error while loading. Please reload this page.
-
代码是这样:
“账号”这个表单项,我写了个验证函数:
因为需要,我自己在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