其实简单,不要用map就行了!
vuex内
for (let i = 0; i < arr.length; i++) { const v = await dispatch('uploadFile', arr[i]).catch(() => { }) }
页面内
var a = 0 // 错误次数超过3次,则跳出循环,直接进入弹窗错误! let fail = [] // 失败数组 let success = [] // 成功数组 一切正常则没用,如果失败则展示成功数目 for (let i = 0; i < arr.length; i++) { const v = await this.tradelogAuto(arr[i]).catch(() => { a++ }) if (!v) { // 如果res.data 为true,则成功,否则失败,失败加入失败列表 fail.push(arr[i]) } else { success.push(arr[i]) // } // 如果失败2次以上,则跳出循环,并把后续未执行全部加入失败列表 if (a > 2) { const r = arr.slice(i) fail = [...fail, ...r] break } }