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è

I am Developer

Check Also

Interview between businessmen

5 lí do làm bạn bỏ lỡ những cơ hội phỏng vấn

Cách phản ứng của các nhà tuyển dụng mỗi khi họ nhận được một đợn ...

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ó ...

Leave a Reply

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