Flutter tutorial – 2.9 Lập trình bất đồng bộ trong ngôn ngữ Dart với Future, async, await, then

Chào các bạn, trong nhiều ngôn ngữ các bạn đã quen với khái niệm lập trình bất đồng bộ (asynchronous programming) rồi đúng không ? Nhưng trong bài viết này Báo Flutter xin gửi đến các bạn một cách chi tiết về lập trình bất đồng bộ trong ngôn ngữ dart với các từ khoá như: Future, async, await.

Lập trình bất đồng bộ là gì ?

Lập trình bất đồng bộ là hoạt động cho phép chương trình thực hiện tiếp các công việc mà trong khi chờ các công việc khác vẫn đang trong qúa trình hoàn thành.

Lập trình bất đồng bộ dùng khi nào ?
Lập trình bất đồng bộ dùng khi :
+ Lấy dữ liệu từ Server, Firestore
+ Ghi, update vào database
+ Đọc nội dung từ file

Các từ khoá dùng trong lập trình bất đồng bộ : Future, async, await.

Dưới đây là một ví dụ khi lấy dữ liệu từ Server :

Không dùng lập trình bất đồng bộ thì sao ?
Nếu không dùng bất đồng bộ thì sảy ra trường hợp : dữ liệu nhận về bị lỗi. Ví dụ dưới đây là rõ nhất :

Khái niệm Future

Future là kết quả trả về của hoạt động bất đồng bộ. Future có hai trạng thái là : hoàn thành và chưa hoàn thành.

Future hoàn thành : Khi hoạt động bất đồng bộ thực hiện xong, lúc đó future ở trạng thái hoàn thành và trả về một giá trị hoặc một lỗi.

Ví dụ :

Khi hoạt động bất đồng bộ thất bại thì Future ở trạng thái hoàn thành và trả về lỗi.

Future chưa hoàn thành: Khi hoạt động đồng bộ được gọi nó sẽ trả về một Future chưa hoàn thành.

Cách triển khai lập trình bất đồng bộ với Future, async, await

Dựa vào ví dụ dưới đây bạn có thể hiểu được cách dùng : Future , await, async :

+ Future : dùng cho kiểu dữ liệu trả về.
+ async : được đặt trước khối chứa await, nó đánh dấu là bất đồng bộ.
+ await : được đặt bên trong async và đặt ở trước các phương thức thực hiện việc load dữ liệu, hay ghi, update vào database..

Lập trình bất đồng bộ sử dụng .then

Có một kiểu biểu diễn lập trình bất đồng bộ mà có thể xử lý lỗi và exception rất tiện lợi đó là sử dụng cú pháp chứa “then”.

Kết luận : Như vậy bạn đã hiểu lập trình bất đồng bộ là gì và nó sử dụng để làm gì.
Khi thực hiện thao tác lấy, ghi, đọc, update dữ liệu từ File, Server, Firebase, Firestore, bạn nên dùng lập trình bất đồng bộ.

Về việc xử lý lỗi trong bất đồng bộ, bạn có thể đọc thêm ở đây.

Chúc các bạn có thêm được nhiều kiến thức từ blog của Báo Flutter!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *