0
我试图返回承诺的输出。但是,我只是得到了实际承诺,而不是价值。返回承诺的输出
我在做什么错?
这里是我的代码:
$rootScope.distance = function(lon1, lat1) {
var deferred = $q.defer();
$cordovaGeolocation.getCurrentPosition()
.then(function (position) {
deferred.resolve(position);
}, function(err) {
});
return deferred.promise;
}
...,结果
我不知道你的目标是什么,但这就是我所期望的......你需要在返回的承诺上调用'then'。当它解决你的回调函数时,将调用你需要的数据(在这种情况下为'position')。如果您的代码如您所示,则不必担心延迟的问题,因为您可以直接返回由'$ cordovaGeolocation.getCurrentPosition'返回的许诺。 – 2014-09-10 12:37:00
我的目标是不必调用'.then' – 2014-09-10 12:37:52
然后你不应该使用承诺:D – 2014-09-10 12:38:40