How Asynchronous Works In Javascript