AFNetworking - блокировка пакетного завершения операций перед завершением всех запросов JSON

Я только начинаю использовать AFNetworking и столкнулся с аномалией при использовании enqueueBatchOfHTTPRequestOperations для пакетирования 3 объектов AFJSONRequestOperation. Я обнаружил, что иногда завершение блока для очереди срабатывает до того, как все блоки завершения AFJSONRequestOperation сработают. После некоторого исследования кажется, что это связано с тем, что AFJSONRequestOperation выполняет синтаксический анализ данных ответа в JSON, что происходит в отдельной очереди, что означает, что запрос сообщает очереди как завершенный до завершения синтаксического анализа.

Поэтому мой вопрос - могу ли я вместо этого использовать объекты AFHTTPRequestOperation для моих 3-х запросов и самостоятельно анализировать JSON в блоке завершения запроса? Будет ли это гарантировать, что блок завершения очереди будет срабатывать только после завершения всех запросов?

1 ответ

Решение

Я изменил свой код, чтобы использовать AFHTTPRequestOperation вместо AFJSONRequestOperation и анализировать JSON вручную, и я тестировал новую версию в течение последних нескольких дней. Я не видел, чтобы проблема возникала один раз, поэтому я думаю, что можно с уверенностью сказать, что запуск блока завершения очереди до того, как все запросы завершены, происходит только при использовании AFJSONRequestOperation.

Другие вопросы по тегам