Задать вопрос
@boobooking

Как выполнить последовательно несколько асинхронных задач используя GDC?

GDC отлично помогает выполнить асинхронно независимые задачи. Но у меня возникла обратная задача - мне надо выполнить последовательно несколько асинхронных задач и я мощно затупил на этом этапе.

Вкратце задача такая.
1) Приложение подписано на обновление информации в Apple Health.
2) Я сам добавляю несколько записей в Apple Health (API добавления асинхронный)
3) Я еще не успеваю обработать ответ о записи в Health, как мне уже приходит от Health обновленная информация. И эта информация (по сути данные о моей же транзакции) начинает конфликтовать с моим незавершенным процессом.

Мне надо полученное уведомление от Apple Health получить, но поставить в очередь и начинать его обрабатывать только после того как я получу completion handler от записи в Apple Health.

Я пробую задачу записи и ответ от Health добавлять в одну serial queue. Но это не решает проблему. Надо как-то тормозить обработку этой очереди до момента обработки completion handler от записи в Health.

Намекните, пожалуйста, как мне разрешить эту ситуацию.
  • Вопрос задан
  • 298 просмотров
Подписаться 3 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    iOS-разработчик
    10 месяцев
    Далее
  • Coddyschool
    Стэнфордский курс Swift
    6 месяцев
    Далее
  • Академия Eduson
    IOS-Разработчик
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Glueckskind
Гуглить в сторону Dispatch Groups. Начать можно отсюда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы