Flutter Future (async, await)

Future & Async/Await là các cơ chế trong Dart dùng để xử lý bất đồng bộ (Asynchronous Programming), cho phép chương trình thực hiện những tác vụ cần thời gian như gọi API, đọc database, đọc file… mà không làm ứng dụng bị đứng trong lúc chờ kết quả.

Future

Future đại diện cho một giá trị sẽ được trả về trong tương lai.

Future thường có 3 trạng thái:

  • Uncompleted: tác vụ đang được thực hiện, chưa có kết quả.
  • Completed with value: tác vụ hoàn thành và trả về kết quả.
  • Completed with error: tác vụ hoàn thành nhưng xảy ra lỗi.

Future thường được sử dụng khi làm việc với API, database, file hoặc các tác vụ cần thời gian xử lý.

Async

async được dùng để đánh dấu một hàm là hàm bất đồng bộ. Hàm có async thường trả về một Future.

async cho phép sử dụng await bên trong hàm.

Await

await dùng để chờ một Future hoàn thành rồi lấy kết quả trả về.

Khi gặp await, chương trình sẽ tạm dừng việc thực thi phần code phía sau trong hàm đó cho đến khi Future hoàn thành, nhưng không làm block toàn bộ ứng dụng.

Xử lý lỗi với Future

Các tác vụ bất đồng bộ có thể xảy ra lỗi, thường được xử lý bằng:

  • try/catch: bắt và xử lý lỗi khi dùng await.
  • then(): xử lý kết quả khi Future hoàn thành.
  • catchError(): xử lý lỗi của Future.

Bài viết khác

Testing Principles & Testing Levels

Testing Principles & Testing Levels là gì? Trong kiểm thử phần mềm, Testing Principles (Các nguyên tắc kiểm thử) là kim chỉ nam giúp định hướng cách thực hiện kiểm thử hiệu quả, trong khi Testing Levels (Các cấp độ kiểm thử) là các giai đoạn phân loại phạm vi kiểm thử từ nhỏ đến […]

Dart OOP

Dart OOP Dart OOP (Object-Oriented Programming) là cách lập trình dựa trên object (đối tượng) và class (lớp). Dart hỗ trợ đầy đủ các khái niệm OOP, giúp tổ chức code thành các đối tượng có dữ liệu (properties) và hành vi (methods), từ đó code dễ quản lý, tái sử dụng và mở rộng […]

Null Safety

Null Safety là tính năng giúp ngăn chặn lỗi do các biến có giá trị rỗng (null) gây ra. Được áp dụng rộng rãi trong ngôn ngữ Dart (và framework Flutter), tính năng này giúp các nhà phát triển phát hiện lỗi ngay tại thời điểm biên dịch thay vì khi ứng dụng chạy, giúp […]

SOLID và Design pattern

SOLID SOLID là 5 nguyên tắc thiết kế phần mềm hướng đối tượng, giúp xây dựng hệ thống dễ hiểu, dễ thay đổi, dễ mở rộng, dễ test, ít gây ảnh hưởng dây chuyền, dễ bảo trì SOLID gồm: S: Single Responsibility Principle O: Open/Closed Principle L: Liskov Substitution Principle I: Interface Segregation Principle D: […]

SDLC&STLC

1. Tổng quan nền tảng về quy trình phát triển và kiểm thử phần mềm Trong bất kỳ một dự án công nghệ thông tin nào, dù là ứng dụng di động nhỏ hay hệ thống phần mềm doanh nghiệp khổng lồ, việc để sản phẩm đi đến thành công không thể dựa vào sự […]

Frontend Web Roadmap

  Roadmap download here frontend web   Keyword Git Agile Waterfall Scrum Kanban SOLID Internet Fundamentals HTTP/HTTPS DNS & Domain Browser Fundamentals HTML Semantic HTML Forms & Validation CSS Flexbox & Grid Responsive Web Design Bootstrap JavaScript Fundamentals DOM Async JavaScript Fetch / HTTP Client TypeScript npm / pnpm / yarn React Components React Component […]

Leave a Reply

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