当前位置: 代码迷 >> 综合 >> 并发请求的处理:ExecutionQueue执行队列的使用
  详细解决方案

并发请求的处理:ExecutionQueue执行队列的使用

热度:63   发布时间:2024-02-04 19:01:50.0

最近工作一个问题的处理方案,多请求的处理,通过使用执行队列实现,上代码(js小白的憨憨编码):

//任务函数
var iP = '192.168.2.4';function checkIP(ip){let formIP = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;if(formIP.test(ip)){if(RegExp.$1 <= 255 && RegExp.$1 >= 0 && RegExp.$2 <= 255 && RegExp.$2 >= 0 && RegExp.$3 >= 0 && RegExp.$3<= 255 && RegExp.$4 >= 0 && RegExp.$4 <= 255){return true;}else{alert('格式错误');return false;}}else{alert('error');return false;}}function checkNameLength(){let name = '*KJK09bcc_';let formCheck = /^[A-Za-z0-9_-]+$/;if(formCheck.test(name)){if(name.length>0&&name.length<16)return true;else{$luiDialog.alert('error','recheck');return false;}}else{$luiDialog.alert('warning','style is fault');}}var isFailed = false;function test1(){isFailed = true;}var isSucessed= false;function test2(){isSucessed = true;}var queue = ExecutionQueue.create(4,false);//创建一个异步的请求队列;queue.addTask(next =>{//这边方便测试创建了三个任务函数,可自定义,下面贴样例checkIP(iP);checkNameLength();test1();test2();next();});//创建一个执行队列;
//请求完成后的处理
queue.finally(()=>{if(isFailed == true){$luiDialog.alert('失败','请求失败');}if(isSucessed == true){$luiDialog.alert('Successed','HHHHHaaaaa');}console.log('It is accomplished!');});

这个执行队列的简单用法,这边是为了处理多个请求会有多个请求失败弹框的处理,为用户友好,选择这个方案,处理这个问题的方案有很多,但是个人觉得执行队列的方法更规范,更具有健壮性。

  相关解决方案