input is invalid type报错解决

  调用 axios 异步请求,在请求的 then 回调函数中,使用了 MD5 加密,下方为类似代码

loginBefore(UserName, PassWord) {
	return new Promise(function (resolve, reject) {
		let loginObj = {
			axios(login).then((res) => {
				let Login = Base64.encode(UserName) + AccessCode + md5(PassWord); //报错是此行代码导致
				...
			}).catch((err) => {
				reject(err)
			})
		}
	})
}

  上面代码本身执行没什么问题,主要是两个形参,UserName, PassWord

let info = {
	method: 'POST',
	url: '...',
	headers: {
		'Content-Type': 'application/json'
	}
};
axios(info).then((rep) => {
	if(rep.data && rep.data.status === 200) {
		username = rep.data.username;
		password = rep.data.password;
	}
}).catch((err) => {
	console.log('err', err);
})

loginBefore(username, password).then((res) => { //该函数就是上面执行报错的函数
	...
})

  用户名和密码都是查询接口而来,由于接口查询的数据是通过回调函数拿到的,回调函数又是在任务队列中,等待主线任务执行完毕后,再执行任务队列,异步导致的数据还没查询出来,就使用,导致 MD5 中的参数是 undefined,所以报出 input is invalid type 输入类型错误的提示。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值