StopCoroutine приймає один із трьох аргументів, які визначають, яку співпрограму зупинено: рядкова функція, яка називає активну співпрограму. Змінна IEnumerator, яка використовувалася раніше для створення співпрограми. Coroutine для зупинки створеної вручну Coroutine.
На Android, скасування відбувається автоматично, коли ми використовуємо viewModelScope або lifecycleScope Android KTX . Ми також можемо створити область самостійно, і в цьому випадку нам слід не забувати скасувати її дочірні елементи, коли ця область більше не потрібна.
Просто оформити повернення; будь-де, де ви хочете вирватися з співрутини. Це призведе до повного завершення виконання співпрограми. Подібно до того, як return завершує виконання звичайної функції.
Є два варіанти:
- ви можете викликати asyncio. create_task(c). скасувати()
- Ви можете безпосередньо зателефонувати в. close() для об’єкта співпрограми.
Скасування завдання співпрограми є звичайною операцією, особливо під час довгострокових завдань. Метод cancel() для завдання може бути використаний для зупинки виконання співпрограми. Нова співпрограма запускається за допомогою GlobalScope. запуск(Диспетчери.
Функція close(). використовується для явного звільнення ресурсів, пов’язаних із співпрограмою, що робить безпечним закриття співпрограм, які завершили своє виконання. Спроба закрити запущену співпрограму або співпрограму, яка вже була закрита, призведе до помилки. Завжди перевіряйте значення, які повертає співпрограма.