首页 新闻 会员 周边

vue3 app.vue 获取router参数 router.isReady

0
[待解决问题]

router.isReady().then(() => {
console.log(route.query.id) // 123
})
router.isReady里面执行可以获取到route.query参数,使用route.query的参数请求接口
此时这个接口还没有成功, 其他页面的接口就请求了
能不能让app.vue 里面的代码执行完成在执行其他页面接口?

anluo小毛虫的主页 anluo小毛虫 | 菜鸟二级 | 园豆:354
提问于:2023-04-25 22:49
< >
分享
所有回答(2)
0

等待请求执行,用await

顾星河 | 园豆:7173 (大侠五级) | 2023-04-27 09:59
0

如果您想让router.isReady()里面的代码执行完后再执行其他页面接口,可以将这些接口请求放在router.isReady()返回的Promise中执行。在Promise的then函数中,可以确保router.isReady()里的代码已经执行完成。

例如,您可以这样编写代码:

javascript

router.isReady().then(() => {
// 这里是获取路由参数并请求接口的代码
console.log(route.query.id) // 123
api.get('/example', { id: route.query.id }).then((response) => {
// 在这里执行其他页面的接口请求
console.log(response)
})
})
在这个例子中,获取路由参数并请求接口的代码放在router.isReady()的then函数中,这样可以确保在路由参数已经获取后再进行接口请求。接口请求也放在then函数中,这样可以确保在获取路由参数并完成接口请求后再进行其他页面的接口请求。

Technologyforgood | 园豆:5686 (大侠五级) | 2023-04-30 21:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册