const p1 = () => Promise.resolve(1)         const p2 = () => {             return new Promise((resolve) => {                 setTimeout(() => {                     resolve(2)                 }, 2000)             })         }         const p3 = () => {             return new Promise((resolve) => {                 setTimeout(() => {                     resolve(3)                 }, 3000)             })         }         myPromiseChain([p1, p2, p3]).then(res => {             console.log(res)         })         function myPromiseChain(arr) {             let num = 0             return new Promise((resolve, reject) => {                 arr.forEach(item => {                     item().then(res => {                         num++                         console.log(res)                         if (num === 3) {                             resolve('所有promise执行完毕&(16968)#39;)                         }                     })                 });             })         }