DevPrep

Все темы › Сетевое программирование и API

Как сделать синхронную обёртку над асинхронным методом?

Middle PRO

Суть

Технически — через DispatchSemaphore: создать семафор со значением 0, вызвать асинхронный метод, в колбэке сохранить результат и сделать signal(), а снаружи заблокироваться на wait(). Но на собеседовании важнее объяснить, почему это антипаттерн и каким должно быть правильное направление обёртки.

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

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

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

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

Скачать DevPrep в App Store