У меня проблема. Я кодирую с помощью VS2008. Я вызываю веб-службы со своей страницы JavaScript. Пример
Services.ChangeDropDownLists.GetNowPlayingMoviesByLocationSVC(
blah,
OnSuccessMoviesByRegion,
OnError,
OnTimeOut
);
после выполнения переходит в функцию OnSuccessMoviesByRegion.
Но если я помещу службы в цикл (простой цикл for)
Services.ChangeDropDownLists.GetNowPlayingMoviesByLocationSVC(
blah[i],
OnSuccessMoviesByRegion,
OnError,
OnTimeOut
);
Функция OnSucessMoviesByRegion не выполняется (но вызов службы выполняется n раз успешно
Но у меня должна быть функция, потому что я возвращаю через нее значение.
Что мне не хватает? Это типичное поведение? Есть альтернативы?





Думаю, есть какой-то проблема параллелизма. Вероятно, вы запускаете следующий запрос до того, как закончился последний.
Думаю, вам придется переписать цикл. Попробуйте переместить этот код, вызывая только первый запрос, а затем используя функцию «OnSuccess», чтобы каждый раз вызывать следующий.
Naveen, я отвечаю на ваш уточняющий вопрос здесь. Я могу придумать два варианта:
Попробуйте сделать один вызов, упаковывая ваши данные (отправив весь массив blah и обработав его на сервере).
Используйте переменную счетчика, которую вы каждый раз уменьшаете в клиентском обработчике OnSucces, и останавливайте ее, если эта переменная счетчика достигает 0.