周末学会了 10个超级实用 Javascript 技巧( 二 )


let array = [0, 1, 2, 3, 4, 5, 6, 7] console.log(array.slice(-1))>>>[7]console.log(array.slice(-2))>>>[6, 7]console.log(array.slice(-3))>>>[5, 6, 7]10. 等待 Promises在某些情况下 , 我们需要等待多个Promise结束 , 这里 , 我们使用Promise.all 。
const PromiseArray = [    Promise.resolve(100),    Promise.reject(null),    Promise.resolve("Data release"),    Promise.reject(new Error('Something went wrong'))];Promise.all(PromiseArray)  .then(data => console.log('all resolved! here are the resolve values:', data))  .catch(err => console.log('got rejected! reason:', err))关于Promise.all需要注意的一件事是 , 当一个Promise拒绝时 , 该方法将引发错误 。这意味着我们的代码将不会等到所有的Promise都完成 。
如果想要等到所有Promise都完成后 , 无论它们被拒绝还是成功 , 可以使用Promise.allSettled 。此方法在ES2020的最终版本中 。
【周末学会了 10个超级实用 Javascript 技巧】const PromiseArray = [    Promise.resolve(100),    Promise.reject(null),    Promise.resolve("Data release"),    Promise.reject(new Error('Something went wrong'))];Promise.allSettled(PromiseArray).then(res =>{console.log(res);}).catch(err => console.log(err));//[//{status: "fulfilled", value: 100},//{status: "rejected", reason: null},//{status: "fulfilled", value: "Data release"},//{status: "rejected", reason: Error: Something went wrong ...}//]


推荐阅读