I am trying to understand async await with promises and for..of loop. I have a function which generates promise by resolving if an even number is passed to it and by rejecting if odd number is passed to it. Inside an async function I am tying to await but getting UnhandledPromiseRejection even though I am catching the error.
My question is what points i am missing. Why I am getting UnhandledPromiseRejection and how to handle it. I need conceptual information
function genPromise(value) {
return new Promise((resolve, reject) => {
if (value % 2) {
resolve(`The value ${value} is odd`);
} else {
reject(`The value ${value} is even`);
}
})
}
(async function () {
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let y = x.map(d => genPromise(d))
try {
for await (let k of y) {
console.log(k);
}
} catch (err) {
console.log(err)
}
})();