Bonjour,

j'essai de comprendre comment fonctionne le .then() d'angular, dans certain cas j'arrive bien a le faire fonctionné et dans d'autre je me retrouve avec l'erreur : "TypeError: Cannot read property 'then' of undefined"

je pense que j'ai un soucis de compréhension des callback et promise..

voici une de mes fonctions qui foire:
controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
'use strict';
var app = angular.module('appli');
app.controller('MsgCtrl', function ($firebaseArray,$firebaseObject,$firebase,$scope,Messages,Auth,toaster) {
    $scope.idUtil = Auth.user.uid;
	$scope.listemsg = Messages.getMsg($scope.idUtil);
	console.log($scope.listemsg);
	$scope.valider = function(id){
		Messages.validerMsg(id,$scope.idUtil).then(function(){
			alert('coucou');
		});
	};
});
service
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 'use strict';
 var app = angular.module('appli');
 app.factory('Messages', function (FIREBASE_URL,$firebaseArray,$firebaseObject, Auth,$q, toaster,$location) {
 	 var bdd = new Firebase(FIREBASE_URL);
 	 /*recupere toute les infos present dans profile*/
 	 var messages = $firebaseArray(bdd.child('message'));
 	 var Messages =  { 
 		 all: messages,
                 validerMsg: function(id,uti){
						    var msg = bdd.child('message').child(uti).child('evenement').child(id);
 						var onComplete = function(error) {
						  if (error) {
						      	 toaster.pop('error', error);
						      	 console.log('Error:', error); 
						  } else {
 					 		toaster.pop('success', "Bravo, événement valider");
 					 		 $location.path('/message');
						  }
						};
 						return msg.remove(onComplete); 
 				}
Donc j'essai tout simplement pour l'instant d'avoir mon alert qui s'affiche, ensuite je passerai une autre fonction a la place de l'alert.
Pourquoi ai je donc l'erreur Type error, then of undefined ?

Merci