AngularJS : 工厂更新变量

AngularJS : Factories update variables

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

InboxNotificationFactory.notifications

这将是 return 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;
        });
    }
});

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

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

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

    return {
        notifications: notifications
    };
});