AngularJS嵌套承诺

时间:2016-11-26 14:59:06

标签: angularjs angular-promise ngcordova

我试图返回此.register()方法:

    var deferred = $q.defer();
    $cordovaPushV5.initialize($constants.PUSH_OPTIONS).then(function () {
        $cordovaPushV5.onError();
        $cordovaPushV5.onNotification();

        return $cordovaPushV5.register();
    }).then(function (push_token) {
        deferred.resolve(push_token);
    });
    return deferred.promise;

但它永远不会用push_token解决......根据我所见过的其他问题,这似乎是正确的,但我无法让它正常工作..非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道科尔多瓦,但承诺似乎很好。
但它可以简化:

    return $cordovaPushV5.initialize($constants.PUSH_OPTIONS)
        .then(function () {
           $cordovaPushV5.onError();
           $cordovaPushV5.onNotification();
           return $cordovaPushV5.register();
        }, function(error) {
            console.log(error);
    });