#9 Cơ bản về RxSwif

Có một vài thuật ngữ cơ bản chúng ta cần hiểu rõ như sau:

Observer là gì?

Trước đây khi chúng ta muốn theo dõi dự liệu thay đổi thì thường dùng protocol/delegate hoặc closurse/block. Nhưng với RxSwift chúng ta sử dụng Observer để quan sát sự thay đổi của dữ liệu. Như vậy code sẽ ngắn gọn và tối ưu hơn.

Observable là gì?

Theo cá nhân tôi hiểu thì Observable là đối tượng bị theo dõi, khi có thay đổi sẽ emit ra events cho các subscribes. Ví dụ bạn dùng điện thoại, đồng hồ, bạn đặt báo thức khi điện thoại/đồng hồ kêu. Lúc này điện thoại/đồng hồ của bạn sẽ là Observable, còn bạn là Observer.

Các Subjects cần biết:

Trước khi giới thiệu các subjects thì tôi muốn bạn hiểu subject là gì? Subject là có thể Observale và Observer cùng một lúc. Về cơ bản tức là nó vừa bị quan sát và vừa có thể quan sát.

  • BehaviorSubject: khi bạn subscribe đến nó, bạn sẽ nhận được giá trị cuối cùng được phát ra bởi subject và tiếp tục là những giá trị phát ra sau khi bạn subscribe, bạn cũng sẽ nhận được
  • PublishSubject: khi bạn subscribe đến nó, bạn sẽ chỉ nhận được những giá trị mà nó phát ra sau khi bạn subscribe
  • ReplaySubject: khi bạn subscribe đến nó, bạn sẽ nhận được giá trị phát ra sau khi subscribe, đồng cả những giá trị mà đã được phát ra trước khi subscribe. Vậy thì bạn sẽ nhận được bao nhiêu gía trị cũ? Nó tuỳ thuộc vào buffer size của ReplaySubject mà bạn subscribe tới, bạn quyết định số lượng đó là bao nhiêu khi bạn init subject.

 

Trong bài này mình chỉ giới thiệu sơ qua về khái niệm. Những bài sau mình sẽ đi trực tiếp vào cách sử dụng và viết code. Cảm ơn bản đã đọc bài viết của mình.

Bình luận về bài viết này