帖子
帖子
用户
博客
课程
显示全部楼层
13
帖子
1
勋章
1178
Y币

[多端开发] 一个页面2个上传 如何减少判断~

[复制链接]
发表于 2022-3-25 09:29:30
本帖最后由 lolian2 于 2022-3-25 10:20 编辑
  1. //2、提交
  2.                 fnSubmit() {
  3.                         //1#
  4.                         let promiseList = [];
  5.                         for (let i = 0; i < this.data.thumbs.length; i++) {
  6.                                 let localPath = this.data.thumbs[i];
  7.                                 let promise = new Promise((resolve, reject) => {
  8.                                         this.fnUploadImage(localPath, (flag, redata) => {
  9.                                                 if (flag) {
  10.                                                         resolve(redata);
  11.                                                 } else {
  12.                                                         reject('error');
  13.                                                 }
  14.                                         });
  15.                                 }).then(res1 => res1);
  16.                                 promiseList.push(promise);
  17.                         }
  18.                         //2#
  19.                         let promiseList2 = [];
  20.                         for (let k = 0; k < this.data.thumbs2.length; k++) {
  21.                                 let localPath2 = this.data.thumbs2[k];
  22.                                 let promise2 = new Promise((resolve2, reject2) => {
  23.                                         this.fnUploadImage2(localPath2, (flag2, redata2) => {
  24.                                                 if (flag2) {
  25.                                                         resolve2(redata2);
  26.                                                 } else {
  27.                                                         reject2('error');
  28.                                                 }
  29.                                         });
  30.                                 }).then(res2 => res2);
  31.                                 promiseList2.push(promise2);
  32.                         }
  33.                         if (promiseList.length > 0 && promiseList2.length > 0) {
  34.                                 var promiseArr = promiseList.concat(promiseList2);
  35.                                 Promise.all(promiseArr)
  36.                                         .then(res => {
  37.                                                 console.log('Res' + JSON.stringify(res));

  38.                                                 //处理好的已上传图片json字符串
  39.                                                 // this.fnSubmitTuiWithImages(JSON.stringify(uarr));
  40.                                                 console.log('yes' + JSON.stringify(uarr));
  41.                                         })
  42.                                         .catch(e => {
  43.                                                 Fn.toast('发生错误~');
  44.                                                 console.log("报错:" + e);
  45.                                         })
  46.                         } else if (promiseList.length > 0 && promiseList2.length == 0) {
  47.                                 console.log('11111');
  48.                         } else if (promiseList.length == 0 && promiseList2.length > 0) {
  49.                                 console.log('22222');
  50.                         } else {
  51.                                 console.log('111222no');
  52.                         }
复制代码
测试可行~   但是有没有简洁一点的方法,这样判断太多了~
你这个是优化代码,空了给你看看
13
帖子
1
勋章
1178
Y币
好的谢谢~  

2个上传就4个判断了     这样写的话 3个上传判断就更多了
特特法爷 · 2022-3-25 10:32你这个是优化代码,空了给你看看
您需要登录后才可以回帖 登录

本版积分规则