Promise的异步调用

Promise调用两个接口,第二个接口的入参为第一个接口的返回值

Promise的异步调用

应用场景

Promise调用两个接口,第二个接口的入参为第一个接口的返回值

实例

1.两个接口的调用,正常的写法

// 登录接口
function login(userInfo) {
	return new Promise(function(resolve, reject) {
		axios.get("/jeecg-boot/login/api/getLzUserDetailByToken", {	params: userInfo }).then((ress) => {
				if (ress.data.code == 200) {
					let userInfo = ress.data.result;
					window.sessionStorage.setItem("userInfo", JSON.stringify(userInfo));
					resolve(ress)
				}
			})
			.catch(() => {
				console.log("a")
				reject()
			})
	})
}
// 获取token
function getCpToken(userInfo) {
	return new Promise(function(resolve, reject) {
		axios.post("/jeecg-boot/login/api/getUserToken", userInfo)
			.then((ress) => {
				if (ress.data.result) {
					let token = ress.data.result;
					window.sessionStorage.setItem("Token", token);
					window.sessionStorage.setItem("InfoCode", ress.data.code);
					resolve(ress)
				}
			})
			.catch(() => {
				console.log("b")
				reject()
			})
	})
}

2.实现异步调用
first().then( firstData =>{
return second({入参:})
})
.then(secondData =>{})


login({accessToken:userId})
.then((firstData) => {
	// 使用第一个接口返回的参数调用第二个接口
	return getCpToken(firstData.data.result);
})
.then((secondData) => {
	if (to.path == '/' || to.path == '/start') {
		next('/cpIndex')
	} else {
		next()
	}
})
.catch(() => {
	Toast.fail('登录失败');
})
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值