How Javascript Handle Asynchronous Development