The output is 1, 2 because
when the function
increment() is executed and await keyword is found in an async function, then whatever statement is after await starts acting as a Promise resolve, therefore the execution pauses over-there and moves to the line below
num += 1;
console.log(num); and logging 1.
When the call stack becomes empty the control returns back to await 2 and now the statement over there is
num = num + 2 the 2nd num over here still being 0, so 0 + 2 = 2.
Therefore 2 gets logged.