How Does Async Work In Javascript