AngularJS:工厂更新变量

时间:2015-01-14 16:13:54

标签: angularjs promise factory

我需要在解决promise之后从我的工厂更新变量notifications。 我的想法是这样称呼:

InboxNotificationFactory.notifications

这将返回0,然后当promise被解析时,它将更新为其他一些值而无需在我的控制器中使用.then()

inboxApp.factory('InboxNotificationFactory', function (inboxHttpService) {
    getNotifications();

    return {
        notifications: 0
    };

    function getNotifications() {
        inboxHttpService.totalUnreadMessages().then(function(response) {
            //ERROR RIGHT HERE
            this.notifications = response.data;
        });
    }
});

1 个答案:

答案 0 :(得分:1)

this.notifications不存在。这样的事情可能更接近你想要的东西:

inboxApp.factory('InboxNotificationFactory', function (inboxHttpService) {
    var notifications = 0;

    inboxHttpService.totalUnreadMessages().then(function(response) {
        notifications = response.data;
    });

    return {
        notifications: notifications
    };
});