Waiting to navigate to, do not operate continuously
等了半天也没见跳转
有大佬遇见过这样的问题吗
- 发布:2022-05-26 11:10
- 更新:2023-12-24 13:50
- 阅读:9876
2***@qq.com (作者)
uni.reLaunch({
url: '/pages/login/login'
})
都走到这儿了 不跳转 报这个错误 Waiting to navigate to, do not operate continuously
水手 - 资深老开发
do not operate continuously
我也碰到了, 可能是 uni跳转 时间不对,或者是, 一会想跳入这个页面, 一会儿又想跳其他页面。
导致 系统不确定 你想跳哪里?
Maiting to navigate to:/pages/everyday/everyday,do not operate continuously: /pages/support/ support.
我也碰到了
setTimeout(()=>{
uni.reLaunch({
url: '/pages/login/login'
})
}, 500);
家人们啊 有谁懂
Waiting to navigate to: /pages/test, do not operate continuously: /pages/test. __ERROR
-
解决了:原因是ios打包下 执行了安卓的方法。
// #ifdef APP-NVUE || APP-PLUS || APP-PLUS-NVUE
let main = plus.android.runtimeMainActivity()
改成
// #ifdef APP-ANDROID
let main = plus.android.runtimeMainActivity()2023-03-28 10:32
-
回复 vecentq: 看报错信息,你全局搜一下‘plus.android.’ 看看没有没有 要逐一检查,你的问题不一定是我说的问题引起的哇
2023-09-25 15:39
hhyang - 如有问题,请添加QQ1606726660 备注付费咨询
这种写法是不允许的,因为应用正在启动,它会执行pages.json
中第一个路由的跳转,而在跳转的过程中会执行生命周期,其中就包括 onLaunch
。而你在 onLaunch
中执行跳转时,之前的导航动作并没有完成。所以就会出现这种问题!
通常这种做法应该放在路由守卫下,它可以保证你整个应用在启动或者导航时,在最上层提供钩子函数,允许你嵌入自己的逻辑,等待逻辑处理完后再进行导航。
这里推荐路由守卫插件uni-simple-router
-
我就是用的路由导航,也出现这个问题,加了延时也不行
router.beforeEach((to, from, next) => {
console.log('permission.beforeEach.to', to)
console.log('permission.beforeEach.from', from)
const token = userStore.token
const userId = userStore.userId
if (token) {
if (to.path === loginPath) {
next(homePath)
}
else if (userId) {
next()
}
else {
userStore.logout({ silenced: true })
next(loginRoute(to))
}
}
else if (whiteList.includes(to.path)) {
console.log('whiteList.includes(to.path)', to.path)
setTimeout(() => {
next()
}, 500)
}
else {
setTimeout(() => {
next(loginRoute(to))
}, 500)
}
})
2024-01-29 12:01