Вызов веб-сервисов в цикле не будет выполнять пользовательскую функцию OnSuccess - PullRequest
1 голос
/ 02 ноября 2008

У меня проблема. Я кодирую с использованием VS2008. Я звоню на веб-сервисы с моей страницы Javascript. Пример

Services.ChangeDropDownLists.GetNowPlayingMoviesByLocationSVC(
            blah, 
            OnSuccessMoviesByRegion, 
            OnError, 
            OnTimeOut
        );

после выполнения переходит к функции OnSuccessMoviesByRegion.

Но если я поставлю Сервисы в цикл (простой цикл for)

   Services.ChangeDropDownLists.GetNowPlayingMoviesByLocationSVC(
                blah[i], 
                OnSuccessMoviesByRegion, 
                OnError, 
                OnTimeOut
            );

Функция OnSucessMoviesByRegion не будет выполняться (но вызов службы выполняется n раз успешно Но у меня должна быть функция, потому что я возвращаю значение через нее.

Чего мне не хватает? Это типичное поведение? Есть альтернативы?

Ответы [ 2 ]

1 голос
/ 02 ноября 2008

Навин, я отвечаю на ваш дополнительный вопрос здесь. Я могу придумать два варианта:

  1. Попробуйте сделать один вызов, упаковывающий ваши данные (отправив весь массив blah и обработав его на сервере).

  2. Используйте переменную счетчика, которую вы каждый раз уменьшаете в обработчике клиента OnSucces, и останавливаете, если эта переменная счетчика достигает 0.

1 голос
/ 02 ноября 2008

Я предполагаю, что есть какая-то проблема параллелизма . Возможно, вы выполните следующий запрос до того, как последний закончится.

Думаю, вам придется переписать цикл. Попробуйте переместить этот код, вызывая только первый запрос, а затем используя функцию «OnSuccess» для вызова следующего каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...