javascript - Angular $HTTP 和 Promise

标签 javascript angularjs angular-promise

我无法在 HTTP.get 函数中实现我的 promise 。当我尝试 console.log 输出时,我得到的只是 Promise 函数?

我有兴趣获取我的 api 提供的事件数组。

eventApp.factory('LoadEvents', function($http, $q) {
        var LoadEvents = function() {
            this.events = [];
            this.busy = false;
            this.after = '';
        };

        LoadEvents.prototype.nextPage = function() {
            if (this.busy) return;
            this.busy = true;

             var defer = $q.defer();

             $http.get('URL inserted here').then(function(response){
                 defer.resolve(response.data);
             });

             this.events = this.events.concat(defer.promise);


            console.log(this.events);
        };

这应该是一个非常基本的 promise ,但我不明白为什么我无法接收数组而不是整个 promise 函数?

最佳答案

通过事件数组(即 this.event),如果你想表示 Promise 数组,那么它应该是这样的

this.events = this.events.concat([defer.promise]);this.events = this.events.push(defer.promise) 然后使用 $q.all(this.events).then(...) 来解决所有问题。

关于javascript - Angular $HTTP 和 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25325181/

相关文章:

javascript - backbone.js 中的自动 _.bindAll()

javascript - 固定网站加载时间?

mysql - 为什么我收到此错误 :? angular.js:13920 错误:[ngRepeat:dupes] 错误( native )

javascript - Angularjs promise 未在 Controller 中解决

javascript - 使用 $q,努力让拒绝在 AngularJS 中级联

javascript - Videojs 在 IE10/9/8 中无法播放其他服务器的视频

javascript - 隐藏某些 DIV(不幸的是没有嵌套)

javascript - 在莫里斯图中的多条线之间切换

javascript - Angularjs 2 类型错误 : Cannot read property 'infos' of undefined with the Http Client

javascript - AngularJS Promise 循环错误