Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 4135|Відповідь: 1

[Кутовий голос] Оператор RxJS finalize виконує логіку після завершення спостережуваної

[Копіювати посилання]
Опубліковано 26.06.2022 18:49:57 | | |
Вимоги: Проєкти Angular, натискаючи кнопку на сторінці, надсилають HTTP-запит, оскільки деякі інтерфейси займають багато часу, потрібно відображати ефект анімації завантаження; після завершення HTTP-запиту анімація завантаження буде закрита.Коли запит успішний або виникає помилка, потрібно вимкнути анімацію завантаження

Традиційне письмо

Наступним чином:

Тобто, коли запит вдається і виникає помилка, потрібно викликати анімацію закриття завантаження, чи є простіший спосіб? Схоже на спробу-ловити-нарешті в C#.

Використовуйте оператор фіналізації

Він намагається зловити фіналзрештоюНам потрібно написати код лише один раз, і логіка буде виконана незалежно від успіху чи невдачі.

Код виглядає так:



Як працює фіналізація? Він фактично додає callback add(fn) до розбирання спостережуваного об'єкта шляхом підписки. Це гарантує, що його викликатимуть при помилці, завершенні та відписці.

Зверніть увагу, що оператор finalize виконується одразу після завершення нашої Observable. Це важливо! Для Angular HTTP це працює дуже добре, оскільки сервіс Angular HTTP повертає «виконано» після завершення запиту.

(Кінець)




Попередній:Затримка часу відповіді інтерфейсу Fiddler і слабке тестування мережі
Наступний:Витягніть весь текст із PDF-файлу за допомогою C# (підтримує .NET Core).
 Орендодавець| Опубліковано 18.09.2022 16:05:18 |
Підписка на тематичні теми для Angular RxJS
https://www.itsvse.com/thread-9209-1-1.html
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com