在uniapp中,sqlite模块语句是有点让人头疼的,特别是在for循环中的sqlite语句,因为是异步的 同时sqlite只能一条一条的接着执行,往往会导致for循环都完了 但是sqlite语句才刚开始进行第一次请求,同时后面也等待着若干请求,这时候我们很难停止这些请求,这时候,如果你想在某个请求后,开始进行下一步的操作的话,建议这个做:
if(spdm!=''&&gg1dm!=''&&gg2dm!=''){
// 循环结束
this.flag=true;
this.flagNum++;
if(this.flagNum==1){
console.log('执行成功/比对或加入');
this.thanInsert(spdm,spmc,gg1dm,gg1mc,gg2dm,gg2mc);
}
}
}else{
this.array.push({spdm:'',gg1dm:'',gg2dm:''});
}
if(this.array.length==bb){
// 全部循环完了还是找不到
// 下一步
if(this.flag){
// 成功
console.log('成功什么都不做')
}else{
//失败
console.log('开始对照表');
this.tmdzbcx();
}
}
如图所示,利用flag判断符合条件的情况,flagNum则表示只要出现第一个符合情况的 就开始跳走开启下一个循环