Consider this code :
async function callPromise ()
{
    let num = await promiseEvenOdd()
    console.log(num, "is odd")
}
function promiseEvenOdd()
{
    return new Promise((resolve, reject) => {
        let num = Math.floor(Math.random() * 2) + 1
        console.log("num", num)  
        if (num % 2)
        {
            console.log("odd")
            resolve(num)
        }
        else
        {
            console.log("even")
            return promiseEvenOdd()
        }
      })
}
callPromise ()
If the number is even we call a new promise, when the number is odd we resolve the promise, but after some even numbers, and after resolving, the await is never returned,
Any idea to how resolve it ?
Thanks,
Bigs
 
    