Ваша проблема в том, что ваш цикл работает синхронно, тогда как фактические вызовы веб-службы асинхронны. Flex использует модель выполнения на основе фреймов и имеет только один поток выполнения - когда вы делаете вызов веб-службе, он инициирует соединение и немедленно возвращается. Цикл навсегда означает, что вы никогда не доберетесь до следующего кадра, где результат может быть обработан. Зацикливание 2000 раз означает, что вы сразу же создаете 2000 соединений, которые будут поставлены в очередь, поскольку вам не разрешено устанавливать столько соединений одновременно. Затем они завершатся в течение следующих нескольких минут.
Способ сделать то, что вы хотите сделать, это, вероятно, подождать, пока один запрос не будет завершен, прежде чем запустить следующий. Чтобы добиться этого, вы можете вызвать clientMonitor()
с конца ваших обработчиков событий или настроить дополнительный обработчик событий специально для вызова clientMonitor()
после завершения запроса.