uawait
v1.1.5
Published
that's one way
Readme
此方法提供 前置做某些事情之后,再进行调用后端接口; 1.先进行安装 npm install uawait
2.进行引入
import uAwait from 'uawait'
3.使用场景,用例说明:
const form={
resolveFlag:true,//为true或false 进入等待;0表示执行失败,1表示执行成功
};
let statusFlag=true;
// 如此方法中循环调用了接口;
const getStatus=async ()=>{
statusFlag= await this.$ajax(apiQueryModelInitSorftwareStatus,{
vin:this.connectedVin,
ecuType:this.ecuTypeCode
}).then(res=>{
if(res.code!=this.$OK){
this.$message.error(res.msg)
return '失败'
}else{
return res.data;
}
});
if(this.isboolean(statusFlag)&&!statusFlag){
form.resolveFlag=1;
return false
}else if(this.isboolean(statusFlag)&&statusFlag){
setTimeout(()=>{
getStatus()
},3000)
}
};
getStatus();
await uAwait(form);
console.log(statusFlag);
//以下方法可能需要上述循环执行结束后再执行;
console.log(a);
console.log(b);
console.log(c);// let res=null // setTimeout(()=>{ // res={obj:'423423423'} // },3000) // async function fnback(form){ // if(res){ // form.resolveFlag=1 // } // return res // } // const r= await uAwait({resolveFlag:false},fnback) // console.log(r)
async function ttview(){ let v=null setTimeout(()=>{ v={t:100} },5000) const t= await uAwait({resolveFlag:false,timeincount:3},async (f)=>{//3秒钟超时 if(f.message===1){//超时了 const mvo={status:60,msg:'超时了'} // console.log('已经超时了')
return null
}
console.log(5000)
if(v){
f.resolveFlag=1
return v
}
return null})
console.log(t) }
