我有问题。 我正在使用VS2008进行编码。 我从我的Javascript页面调用webservices。 一个例子
Services.ChangeDropDownLists.GetNowPlayingMoviesByLocationSVC(
blah,
OnSuccessMoviesByRegion,
OnError,
OnTimeOut
);
执行后进入函数OnSuccessMoviesByRegion。
但是如果我把服务放在一个循环中(一个简单的for循环)
Services.ChangeDropDownLists.GetNowPlayingMoviesByLocationSVC(
blah[i],
OnSuccessMoviesByRegion,
OnError,
OnTimeOut
);
OnSucessMoviesByRegion函数不会执行(但服务调用会成功执行n次 但我必须有函数cos我通过它返回一个值。
我错过了什么? 这是典型的行为吗? 任何替代方案?
答案 0 :(得分:1)
我猜有某种并发问题。可能你会在最后一个请求结束之前触发下一个请求。
我认为你必须重写循环。尝试移动该代码,仅调用第一个请求,然后使用“OnSuccess”函数每次调用下一个请求。
答案 1 :(得分:1)
Naveen,我在这里回答你follow-up question。我可以想到两个选择:
尝试打一个电话打包你的数据(发送整个blah数组并在服务器上处理它)。
使用计数器变量,每次在“OnSucces”客户端处理程序中递减,如果此计数器变量达到0,则停止。