0

I have a problem with a JavaScript function that it has async await. I create this with the goal of learning asynchrony.

   // function that just solve an addition
function addition(num1, num2){        
    let sum = num1 + num2
    return sum
    }

    // I treat this function as an api
function num(value=3){
    setTimeout( function (){
        let num = value;
        return num
    }, 3000)
}

    // I put an async/await for waiting the response of 'num' function
const Exercise = async() => {
    const num2 = await num(2)
    console.log(addition(3,num2))
}
    
Exercise()

The num() function has a behaviour as an API what I've to wait it response, but when I run all of this code the first response is 'undefined' and then 'NaN'. I don't understand why.

Do you know what I'm doing wrong? Thanks a lot!

  • 2
    `num` doesn't have a return statement so it returns `undefined`. It also doesn't return a promise, so `await`ing it is pointless. – Quentin Jun 12 '22 at 15:21
  • You may have wanted [something like this](https://jsfiddle.net/ejv958rL/) where `num` returns a promise that _can_ be awaited. – Andy Jun 12 '22 at 15:28

0 Answers0