相关疑难解决方法(0)

如何捆绑Angular $ http.get()调用?

我有一个控制器,需要检索两个单独的REST资源,将填充两个下拉列表.我想避免填充其中任何一个,直到两个$ http.get()调用都返回,这样下拉列表似乎同时填充,而不是一个接一个地插入.

是否可以捆绑$ http.get()调用并优雅地为两个返回的数组设置$ scope变量,而不必为两个场景编写状态逻辑,例如b之前的返回,b之前返回?

javascript angularjs

18
推荐指数
2
解决办法
1万
查看次数

角度同步http循环更新进度条

我正在尝试使用foreach中的顺序http请求更新进度条,这样可行,但是完全没有同步,进度条正在被http调用同步,我做错了什么?

angular.forEach(queue, function (item) {
    if (item.uid) {
        d.item = item;
        $http({
            url: BASE_URL + 'upp', 
            method: 'post',
            data: d                  
        }).then(function(res){
            x++;
            update_progress((x/queue_count)*100);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

我想在http返回完成时调用update_progress函数(200 OK),因此进度条正确显示实际进度.谢谢!

编辑:

我在调用*update_progress*函数之前尝试检查响应状态,但仍然无法按预期工作.我不知道在请求完成之前已经发送了200个:| 通过逻辑,res obj不应该是http请求的响应?我的意思是,如果它是200而不是错误代码,那不应该意味着请求已经完成了吗?

angular.forEach(queue, function (item) {
if (item.uid) {
    d.item = item;
    $http({
        url: BASE_URL + 'upp', 
        method: 'post',
        data: d                  
    }).then(function(res){
        if(res.status == 200) {
          x++;
          update_progress((x/queue_count)*100);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

阅读更多承诺atm,看看我是否可以按照@josh-strange的说法使其工作

编辑2:

所以承诺是这样做的方式,所有请求都是按顺序发送的,因此进度条按预期工作,这里是代码:

var promise = $q.all({}); 
// Had to init $q.all with an …
Run Code Online (Sandbox Code Playgroud)

twitter-bootstrap angularjs

3
推荐指数
1
解决办法
6030
查看次数

标签 统计

angularjs ×2

javascript ×1

twitter-bootstrap ×1