```js function asyncAdd(a,b) { return Promise.resolve(a+b) } function mulipleAsyncAdd() { const promisArr = []; const nums =[...arguments]; return new Promise((resolve,reject) => { if(nums.length===1) { resolve(nums[0]); }else { for(let i =0;i<nums.length;i +=2) { if( (i+1) === nums.length) { promisArr.push(asyncAdd(nums[i], 0)); }else { promisArr.push(asyncAdd(nums[i], nums[i+1])); } } Promise.all(promisArr) .then(res => { return mulipleAsyncAdd(...res); }).then((res) => { resolve(res); }) } }) } // test (async () => { console.log(111); const res = await mulipleAsyncAdd(1,2,2,3,4,5,6); console.log(3333,res); console.log("end") })() ```
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务