角度Http优先级

时间:2017-03-23 06:38:11

标签: angularjs http

我在我的应用程序中进行了大量的API调用,比如50。

完成所有api通话的总时间约为1分钟。所有api调用的优先级都是2.我启用了角度缓存。

因此,与此同时,如果我的应用程序的用户只想关注所有的api调用,即只有6个api调用。

然后我将再次投射优先级为1的6个api调用。

但我仍然没有得到我的目标?即这6个api调用需要尽快接收数据。

请参考以下示例代码。

初始加载:

for(var i=1,priority=19;i<=19,priority>=1;i++,priority--)  
{
$http.get("http://localhost:65291/WebService1.asmx/HelloWorld"+i+"?test=hari",{priority:2})
.then(function(response) { });
}
}

在某些情况下点击:

$http.get("http://localhost:65291/WebService1.asmx/HelloWorld7?test=hari",{priority:1})
.then(function(response) { });
}

1 个答案:

答案 0 :(得分:0)

如果您想一次发送多个http请求,请使用$q.all

在循环内部将http请求推送到数组并立即发送该http数组。

var httpArr = []

for (var i = 1, priority = 19; i <= 19, priority >= 1; i++, priority--) {
    httpArr.push($http.get("http://localhost:65291/WebService1.asmx/HelloWorld" + i + "?test=hari", {
        priority: 2
    }))
}
$q.all(httpArr).then(function(response) {
    console.log(response[0].data) //1st request response
    console.log(response[1].data) //2nd  request response
    console.log(response[2].data) //3rd request response
})