2012-04-03 2 views
0

просит с AFNetworking:задержка AFJSONRequestOperation в ответ

NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 
    [queue setMaxConcurrentOperationCount:1]; 
    [queue addOperation:request1]; 
    [queue addOperation:request2]; 

request1 получает ответ сразу после его вызова. Но второй запрос2 получает ответ с задержкой 14 или 16 секунд после его вызова.

Журнал сервера показывает, что запрос2 отправился туда с задержкой 14-16 секунд с клиентского времени. и он отвечает немедленно. поэтому сервер должен быть прав.

Что это может быть?

+0

использовать Wireshark или charlesproxy, чтобы захватить захват это происходит, что может дать ключ. – JosephH

ответ

1

Вы установили maxConcurrentOperationCount в положение 1, эффективно сделав свою очередь в очереди. Это означает, что в любой момент времени выполняется только одна операция.

Возможно, первая операция (request1) занимает 14-16 секунд.

Если вы хотите запустить оба запроса одновременно увеличить maxConcurrentOperationCount

+0

это не помогает. запросы должны выполняться последовательно. И кулачный ответ ушел в миллисекундах. –

+0

@ phantom.dnepr Если вам нужно, чтобы запросы запускались последовательно, вы должны использовать зависимости NSOperation или создать вторую операцию в блоке завершения первого. В любом случае вам потребуется дополнительная информация, чтобы понять, что происходит, чтобы помочь вам. Описания того, что представляют собой запросы, журналы ответов, проходящих через такие вещи. – mattt

Смежные вопросы