uniapp开发时候页面有多个请求时,当token失效时候401会多次跳转登录页问题处理

在request拦截器返回状态中添加判断

		var jump = uni.getStorageSync('isJump')  //以下解决多次跳转登录页的重点
				if (!jump) {
                 //以下做token失效的操作
					setTimeout(() => {
						uni.navigateTo({
							url: `/pages/login` 
						});
					}, 100)
		       uni.setStorageSync('isJump', 'true')
		}

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在清除缓存后,如果一个页面需要多次调用接口获取 token,你可以使用以下方法来处理: 1. 使用异步请求:确保每个接口调用是异步的,这样可以避免一个接口调用阻塞其他接口的执行。 2. Promise 链式调用:使用 Promise 来管理接口调用的顺序。在每个接口请求完成后,再发起下一个接口请求。这样可以确保前一个接口的响应返回后再调用下一个接口。 ```javascript // 使用 Promise 链式调用多个接口 function getToken1() { return new Promise((resolve, reject) => { // 发起 getToken1 接口请求 // 处理成功则调用 resolve(response),否则调用 reject(error) }); } function getToken2() { return new Promise((resolve, reject) => { // 发起 getToken2 接口请求 // 处理成功则调用 resolve(response),否则调用 reject(error) }); } function getToken3() { return new Promise((resolve, reject) => { // 发起 getToken3 接口请求 // 处理成功则调用 resolve(response),否则调用 reject(error) }); } // 调用示例 getToken1() .then((response1) => { // 处理 getToken1 的响应数据 return getToken2(); // 返回一个新的 Promise 对象 }) .then((response2) => { // 处理 getToken2 的响应数据 return getToken3(); // 返回一个新的 Promise 对象 }) .then((response3) => { // 处理 getToken3 的响应数据 // 所有接口请求完成 }) .catch((error) => { // 处理错误情况 }); ``` 通过使用 Promise 链式调用,你可以确保每个接口调用顺序和依赖关系,并在所有接口请求完成后进行处理。 请根据实际情况替换示例中的接口请求代码,并根据需要进行错误处理和数据处理
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值