فرض کنید شما در حال ساخت یک اپلیکیشن هستید که در آن کاربران میتوانند فیلمها را جستجو کنند. شما یک فیلد جستجو دارید که کاربر در آن عنوان فیلم را وارد میکند و بر اساس آن عنوان، فیلمهای مرتبط نمایش داده میشوند.
1. بدون استفاده از switchMap: هر بار که کاربر عنوان فیلم را تغییر میدهد، یک درخواست جدید برای جستجوی فیلم ارسال میشود. اگر کاربر خیلی سریع چندین بار عنوانهای مختلفی را وارد کند، شما ممکن است چندین درخواست مختلف داشته باشید که همزمان در حال پردازش هستند. در اینصورت میتواند به این شکل شود که نتایج نهایی که به کاربر نمایش داده میشوند، مربوط به آخرین عنوان وارد شده توسط کاربر نباشند. 2. با استفاده از switchMap: switchMap اطمینان میدهد که فقط نتایج مربوط به آخرین عنوان وارد شده توسط کاربر پردازش و نمایش داده میشوند. هنگامی که کاربر عنوان جدیدی را وارد میکند، switchMap اول پردازش درخواستهای قبلی را لغو میکند و بعد یک درخواست جدید برای جستجوی فیلم با عنوان جدید ایجاد میکند. در اینصورت اطمینان میدهد که نتایج نمایش داده شده به کاربر همیشه مربوط به آخرین جستجوی انجام شده توسط آنها است، حتی اگر کاربر به سرعت چندین جستجو انجام دهد.