首先是发起请求
var getUser= async function(name){
var require="http://localhost:8081/api/Account/account/all?username="+name
let flag=null
await Axios.post(require).then( function(response){//发起请求
let result=response.data//获取数据
if(result.result==="FAILED")//判断是否存在
flag=false;
else
flag=true;
}).catch(function(error){
flag=false ;//异常处理
});
return flag; //返回
}
接收判断 值得注意的是返回的并不是flag 而是Promise 对象
所以必须是
export async function validUsername(str) {
let flag=null;
await getUser(str).then(function (o){//o就是flag 在这个方法里也是异步执行的
if(o){flag=true;}//所以也必须加修饰符
else{flag=false;}
});
console.log(flag)
return flag;
}
看下login.vue 的调用
const validateUsername = (rule, value, callback) => {
validUsername(value).then(function (o){//这里也不是直接if
if(o)
{
callback();
}else{
callback(new Error("没有该用户!"))
}
})
}