Q:

AXIOS: how to run http requests concurrently and get the result of all requests event if a request fails

I am trying to make server get requests concurrently, in order to do that I have written the following function. 
Problem
If a single call is failing then I am not able to get the response of rest of the requests. 
export const getAll = async (collection) => {
    return new Promise((resolve, reject) => {
        const requests = collection.map(req => {
            const config = {
                headers: req.headers,
                params: req.params
            }
            return axios.get(req.url, config);
        })

        axios.all(requests)
            .then(axios.spread((...args) => {
                // all succerss
                resolve(args);
            }))
            .catch(function (error) {
                // single call fails and all calls are lost
                reject(error)
            });
    })
}

Is it possible to get the result of all requests whether it fails or success? 

A:

In other words even if request fails you want to act rest of the code like request has succeed. 
Let's assume that response cannot be null.  Then we catch request's error and return null in this case for request. 
export const getAll = async (collection) => {
    const requests = collection.map(req => {
        const config = {
            headers: req.headers,
            params: req.params
        };
        return axios.get(req.url, config).catch(() => null);
    })
    return axios.all(requests);
}

So if you have catch() and it does not throw exception all later code works like Promise has been resolved not rejected. 
Also note you don't need to return Promise explicitly from async function because it happens automatically.  Even more: since you don't have await inside the function you actually don't need it to be marked as async.  And finally axios.all returns Promise so you don't need to resolve/reject Promise manually.