let arr = [1,2,3,4,5] function handleA(eval){ return new Promise(async (resolve, reject) => { try{ resolve({ RESULT_DATA:eval }) }catch(err) { reject(err) } }) } // 当符合条件时 停止循环 不往下执行 function handleB() { return new Promise( (resolve,reject) => { try{ arr.map(async (item,idx) => { const {RESULT_DATA} = await handleA(item) if(RESULT_DATA > 2) { return reject('失败') } console.log(RESULT_DATA) if(idx >= arr.length - 1) { resolve() } }) }catch(err) { reject(err) } }) } handleB()