Implement a function customPromiseAll that takes an array of promises and returns a new promise. It should behave like the native Promise.all() but you cannot use Promise.all in your implementation.
customPromiseAll
Promise.all()
Promise.all