0
J'essaie de retourner la sortie d'une promesse. Cependant, je reçois juste la promesse réelle, au lieu de la valeur.Retour de la sortie d'une promesse
Qu'est-ce que je fais mal?
Voici mon code:
$rootScope.distance = function(lon1, lat1) {
var deferred = $q.defer();
$cordovaGeolocation.getCurrentPosition()
.then(function (position) {
deferred.resolve(position);
}, function(err) {
});
return deferred.promise;
}
... et le résultat
Je ne suis pas sûr de ce que vous visez, mais c'est ce que j'attendrais ... vous devez appeler 'then' sur la promesse retournée. Quand il sera résolu, votre rappel 'then' sera invoqué avec les données dont vous avez besoin (' position' dans ce cas). Si votre code est tel que vous l'avez montré, vous n'avez pas besoin de vous préoccuper de l'élément 'différé 'car vous pouvez simplement renvoyer la promesse retournée par' $ cordovaGeolocation.getCurrentPosition' directement. –
Je vise à ne pas avoir à appeler le '.then' –
Ensuite, vous ne devriez pas utiliser une promesse: D –