Câu hỏi phỏng vấn Angular
Câu hỏi

Giải thích sự khác biệt giữa PromiseObservable trong Angular?

Câu trả lời

Trong Angular, cả Promise và Observable đều là những công cụ quản lý các hoạt động bất đồng bộ, nhưng chúng có những đặc điểm và cách sử dụng khác nhau.

Promise

  • Định nghĩa: Promise đại diện cho một hoạt động bất đồng bộ có thể hoàn thành hoặc thất bại trong tương lai. Nó chỉ có thể trả về một giá trị duy nhất hoặc một lỗi.
  • Tính chất: Promise không thể hủy bỏ và sẽ tự động thực thi ngay khi được khởi tạo.
  • Sử dụng: Thích hợp cho các hoạt động bất đồng bộ đơn lẻ mà bạn muốn lấy kết quả hoặc xử lý lỗi một cách ngắn gọn.

Observable

  • Định nghĩa: Observable cung cấp một cơ chế để tạo ra một luồng dữ liệu từ một hoặc nhiều giá trị. Nó có thể phát ra nhiều giá trị theo thời gian và có thể hủy bỏ.
  • Tính chất: Observable là "lazy", nghĩa là nó chỉ bắt đầu thực thi khi có ít nhất một subscription. Observable cung cấp nhiều toán tử cho phép xử lý dữ liệu một cách linh hoạt như map, filter, reduce, và nhiều hơn nữa.
  • Sử dụng: Thích hợp cho việc xử lý nhiều sự kiện bất đồng bộ, như kết quả từ các yêu cầu HTTP, sự kiện từ người dùng, hoặc bất kỳ luồng dữ liệu nào cần được xử lý theo thời gian.

Sự khác biệt chính

  • Số lượng giá trị: Promise chỉ trả về một giá trị hoặc một lỗi, trong khi Observable có thể phát ra nhiều giá trị theo thời gian.
  • Tính hủy bỏ: Observable có thể hủy bỏ thông qua việc hủy subscription, còn Promise thì không.
  • Tính "lazy": Observable chỉ thực thi khi có subscription, còn Promise thực thi ngay khi được khởi tạo.
  • Toán tử: Observable cung cấp nhiều toán...
middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Tại sao cần sử dụng SystemJS trong Angular?

middle

Sự khác biệt giữa StructuralAttribute trong Angular là gì?

middle

Multicasting là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào