Задать вопрос
@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.

Намекните, пожалуйста, как мне разрешить эту ситуацию.
  • Вопрос задан
  • 295 просмотров
Подписаться 3 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Glueckskind
Гуглить в сторону Dispatch Groups. Начать можно отсюда.
Ответ написан
Ваш ответ на вопрос

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

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