Hướng dẫn Promise/Async/Await trên Javascript, NodeJS
JavaScript là một ngôn ngữ đơn luồng (Single Thread) và đồng bộ (Synchronous), nghĩa là khi bạn thực thi một đoạn mã JavaScript trên một trang, không có bất kỳ mã JavaScript khác trên trang đó được thực thi cùng lúc. Tuy nhiên, có một số trường hợp mà JavaScript có thể chạy không đồng bộ, ví dụ như trong trường hợp sử dụng Ajax. Khi bạn gọi một yêu cầu Ajax, nó sẽ không chờ đợi cho đến khi yêu cầu hoàn thành mà sẽ tiếp tục thực thi mã khác cho đến khi yêu cầu Ajax trả về kết quả.