La fonction one
transmet la valeur à two
, puis two
transmet la valeur à three
. Chacune de ces fonctions peut prendre un certain temps pour renvoyer des données. Comment puis-je les faire attendre pour la valeur au lieu de se précipiter et d'imprimer undefined
.AngularJS: chaîne Seqential Promise
var deferred = $q.defer();
var one = function (msg) {
$timeout(function() {
console.log(msg);
return "pass this to two";
}, 2000);
};
var two = function (msg) {
console.log(msg);
return "pass this to three";
};
var three = function (msg) {
console.log(msg);
};
deferred.promise
.then(one)
.then(two)
.then(three);
deferred.resolve("pass this to one");
Fonctionne bien. Merci. –