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