Home / Tutorial / Javascript / Bất đồng bộ trong Javascript chưa bao giờ đơn giản đến thế với Async – Await

Bất đồng bộ trong Javascript chưa bao giờ đơn giản đến thế với Async – Await

Async – Await là 2 phương thức được xuất hiện trong phiên bản ES7 (2017) của Javascript. Async – Await giúp chúng ta giải quyết vấn đề Bất đồng bộ vô cùng đơn giản, dễ viết – dễ đọc. Vậy Async – Await hoạt động như thế nào và có điểm gì hơn Promise ?

Phần 1: Giới thiệu về bất đồng bộ và Promise cơ bản

Phần 2: Promise nâng cao

Trong phiên bản ES6 của Javascript, chúng ta có Promise giải quyết vấn đề bất đồng bộ với cú pháp đơn giản, dễ hiểu và hỗ trợ Chaining (Lồng nhiều điều kiện với nhau). Nhưng cũng vì tính chất đấy mà chúng ta dễ rơi vào tình trạng Promise Hell

promise-hell

Hết Callback hell rồi đến Promise hell :((

 Nhưng với Async – Await, mọi chuyện đều trở nên vô cùng đơn giản: https://repl.it/@chungnq/Async-Await-Example 

Ví dụ trên mình thay Promise thành Async – Await và code đã trở nên đồng bộ, dễ đọc hơn rất nhiều.

Async – Await là một tính năng mới của Javascript (ES7) giúp chúng ta làm việc với Bất Đồng Bộ dễ hiểu và đơn giản hơn. Bản chất nó là Function Generator (function *) và yêu cầu đối tượng sử dụng phải là Promise.

Cách khai báo của Async – Await rất dễ dàng. Chúng ta chỉ cần khai báo từ khóa Async vào đầu hàm và Await với mỗi đoạn Bất Đồng Bộ cần xử lý:

Xử lý lỗi với Async – Await cũng tiện lợi hơn với Try Catch: https://repl.it/@chungnq/error-handle-with-Async-Await

Tổng kết: Async – Await rất tuyệt vời và tiện lợi cho việc phát triển. Thế nhưng nó cũng chưa thể thay thế hoàn toàn Promise vì các thiết bị vẫn chưa hoàn toàn hỗ trợ ES7. Trong một số trường hợp đặc biệt thì Promise vẫn làm tốt hơn (Promise.all, Promise.race).

Cảm ơn các bạn đã theo dõi bài viết. Chúc các bạn có những kiến thức bổ ích giúp kĩ năng cũng như sản phẩm của các bạn được hoàn thiện hơn. Nếu có câu hỏi hay góp ý nào mong các bạn hãy comment ngay trong bài viết của mình 😀


About Chung Chích Choè

Rất ham chơi và hơi chém gió. Mong muốn chia sẻ, đóng góp cho ngành công nghệ thông tin nước nhà. Đồng thời mong muốn xây dựng và phát triển một cộng đồng yêu thích công nghệ thông tin để lại được ngồi cùng nhau chém gió :D.

Check Also

1409261660001

Trở thành một full-stack developer?

Bất kì ai trong ngành lập trình – phát triển web ngày nay đều có ...

top-5-Front-end-frameworks-infographic-1

5 frontend framework phổ biến nhất cho lập trình web năm 2015

Nếu ví 1 website như một bức tranh thì html như khung tranh và những ...

Leave a Reply

Your email address will not be published. Required fields are marked *