Tìm hiểu cơ bản về Observable

2:33 25/05/2024

Observable là một khái niệm. Nó cho phép quản lý các luồng dữ liệu không đồng bộ và sự kiện một cách hiệu quả. Trong Angular, Observable đóng vai trò quan trọng trong việc xử lý các thao tác không đồng bộ như HTTP requests, sự kiện người dùng, và nhiều tác vụ khác.

1. Observable là gì?

Observable là một đối tượng có khả năng phát ra một loạt các giá trị hoặc sự kiện theo thời gian. Các đối tượng khác có thể đăng ký (subscribe) để nhận các giá trị hoặc sự kiện này và thực hiện các hành động tương ứng. Điều này rất hữu ích trong việc quản lý dữ liệu không đồng bộ, chẳng hạn như dữ liệu từ API hoặc sự kiện người dùng.

2. Thành phần của Observable

  • Observable: Đối tượng phát ra dữ liệu hoặc sự kiện.
  • Observer: Đối tượng lắng nghe và xử lý các giá trị hoặc sự kiện từ Observable. Observer có ba phương thức chính:
    • next(value): Xử lý giá trị được phát ra.
    • error(err): Xử lý lỗi xảy ra trong quá trình phát giá trị.
    • complete(): Thực hiện khi Observable hoàn thành việc phát giá trị.
  • Subscription: Được tạo ra khi một Observable được đăng ký bằng cách gọi phương thức .subscribe(). Subscription có thể được hủy bỏ bằng cách gọi unsubscribe().

3. Tạo Observable

Sử dụng constructor của Observable

Sử dụng constructor của Observable

Sử dụng các creation operators của RxJS

from: Tạo một Observable từ một array, Promise, hoặc iterable
fromEvent: Tạo một Observable từ một sự kiện DOM

4. Sử dụng Observable

Để sử dụng Observable, các bạn cần đăng ký một Observer bằng cách sử dụng phương thức .subscribe(). Observer sẽ lắng nghe và phản hồi lại các giá trị hoặc sự kiện từ Observable.

5. Các Operators trong RxJS

RxJS cung cấp nhiều operators để thao tác và biến đổi các giá trị phát ra từ Observable. Một số operators phổ biến bao gồm:

map: Biến đổi các giá trị phát ra từ Observable
filter: Lọc các giá trị phát ra từ Observable
switchMap: Chuyển đổi mỗi giá trị thành một Observable mới và phát ra giá trị từ Observable đó

6. Sử dụng Observable trong Angular

Trong Angular, Observable thường được sử dụng với các dịch vụ để lấy dữ liệu không đồng bộ,  sử dụng HttpClient để thực hiện các HTTP requests. Các phương thức của HttpClient trả về Observable, giúp dễ dàng quản lý dữ liệu không đồng bộ.

Ví dụ sử dụng HttpClient với Observable

Trong file Data Service.ts

Trong component.ts

Kết luận

Observable là một công cụ mạnh mẽ trong Angular để làm việc với dữ liệu không đồng bộ và sự kiện. Hiểu rõ cách tạo, sử dụng và thao tác với Observable sẽ giúp xây dựng các ứng dụng Angular hiệu quả và dễ dàng quản lý luồng dữ liệu phức tạp. RxJS cung cấp nhiều operators giúp  biến đổi và thao tác với dữ liệu một cách linh hoạt, giúp code của   trở nên ngắn gọn và dễ đọc hơn.

Giảng viên Cao Hoàng Khải
Bộ môn CNTT
FPT Polytechnic TP HCM

Hỗ trợ tư vấn và giải đáp thông tin tuyển sinh FPT Polytechnic

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2026

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.