CodeShot
Midسختی 3 از ۵· در 20٪ مصاحبه‌های این حوزه پرسیده شده

چرا Angular به‌شدت به RxJS و Observable وابسته است؟

نشان کردن

پاسخ کوتاه

برای مدیریت داده‌های ناهمزمان (مثل HTTP Request) که ممکن است چندین مقدار را در طول زمان منتشر کنند، نه فقط یک مقدار مثل Promise.

پاسخ کامل

برخلاف Promise که فقط یک‌بار Resolve می‌شود، یک Observable می‌تواند جریانی از رویدادها (مثل کلیک‌های متعدد یا پیام‌های WebSocket) را مدل کند و عملگرهای غنی RxJS (map، filter، debounceTime) امکان ترکیب پیچیدهٔ این جریان‌ها را می‌دهند.

مثال کد

typescript\nthis.http.get<User[]>(""/api/users"").subscribe(users => this.users = users);\n

نکته مهم

فراموش‌نکردن Unsubscribe از Observableها در ngOnDestroy یا استفاده از async pipe برای جلوگیری از Memory Leak.

اشتباه رایج

Subscribe کردن دستی بدون هیچ مدیریت طول عمر، که در اپلیکیشن‌های بزرگ منجر به نشت حافظه می‌شود.