Async function with +=
TL;DR: Because += reads x before, but writes it after it has changed, due to the await keyword in its second operand (right-hand side). async functions run synchronously when they are called until the first await statement. So, if you remove await, it behaves like a normal function (with the exception that it still returns …