Почему URLSessionTaskMetrics имеет массив transactionMetrics

Кажется, что содержит массив и, согласно документации Apple, содержит «Массив метрик для каждой отдельной транзакции запрос-ответ, выполненной во время выполнения задачи». Мой вопрос в том, как есть несколько запросов? Когда мы создаем задачу сеанса, мы создаем ее с одним объектом запроса, так как же возможно, чтобы одна задача сеанса содержала массив метрик? Разве он не должен быть только один?

1 ответ

есть два случая, я могу получить.

  1. код состояния ответа 302.
  2. задача сеанса будет запрашивать два раза, потому что значением по умолчанию для request.cachePolicy является useProtocolCachePolicy. первый извлекает данные из локального кеша, а второй извлекает данные из сети. Однако, если для request.cachePolicy установлено значение reloadIgnoringLocalCacheData, его счетчик будет меньше 1.

попробуйте распечатать transactionMetrics и сравните разницу между ними.

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