function getLongestSubStr(s){
function promiseAll(promises) {
return new Promise((resolve, reject) => {
if (!Array.isArray(promises)) {
throw new Error('arguments must be an array!');
}
let resolvedCounter = 0;
const result = [];
promises.map(promise => {
Promise.resolve(promise).then(
res => {
resolvedCounter += 1;
result.push(res);
if (resolvedCounter === promises.length) {
return resolve(result);
}
},
err => {
return reject(err);
}
);
});
});
}