技术开发 频道

Atlas之批量调用Web Service以提高效率

    最后是JavaScript脚本,调用Web Service:
function invokeTasks_onclick() { // clear the output $('result').innerHTML = ''; DoTask(1, 2); DoTask(1, 1); DoTask(2, 0); } var taskID = 0; function DoTask(times, priority) { for (var i = 0; i < times; ++i) { SampleService.DoTask( taskID++, priority, {onMethodComplete: OnComplete, priority: priority } ); } } function OnComplete(result) { $('result').innerHTML += result + "<br />"; }
     注意到DoTask()方法接受两个参数:times用来指定调用次数,priority用来指定优先级,并且我们利用了一个全局的变量taskID用来维护一个自增的请求顺序。

    在这个示例中,我们首先调用了一个低优先级的请求,然后一个中优先级的,最后两个高优先级的。

    由于高优先级不参与批量调用,所以您最先看到的是它们的返回: 

    由于中低优先级的总数为2个,尚未达到5,所以在3000毫秒的延时过后才被发送: 

    您可以修改invokeTasks_onclick()方法中的调用顺序以及调用数目,分析批量调用的实现方式。

0
相关文章