DevPrep

Все темы › Swift Concurrency (async/await, акторы)

Что такое continuation (withCheckedContinuation) и зачем?

Middle PRO

Суть

Continuation — мост из мира колбэков в async/await. withCheckedContinuation / withCheckedThrowingContinuation приостанавливают текущую задачу, отдают вам объект CheckedContinuation, и задача продолжится, когда вы вызовете resume(returning:) или resume(throwing:). Контракт: ровно один resume на каждый continuation. Так оборачивают completion-handler API, делегаты с одним ответом, CLLocationManager.requestLocation, SKPaymentQueue и т.п.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store