AngularJS 嵌套承诺

AngularJS Nested Promise

我正在尝试 return 这个 .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 解决...根据我看到的其他问题,这似乎是正确的,但是我无法让它正常工作。非常感谢任何帮助.谢谢!

我不知道 Cordova,但 Promise 似乎不错。
但它可以简化:

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