I algunos problemas para entender cómo utilizar "q" (https://github.com/kriskowal/q) promete una biblioteca de javascript:¿Cómo hago una cadena de devolución de llamada con q?
var delayOne = function() {
setTimeout(function() {
return 'hi';
}, 100);
};
var delayTwo = function(preValue) {
setTimeout(function() {
return preValue + ' my name';
}, 200);
};
var delayThree = function(preValue) {
setTimeout(function() {
return preValue + ' is bodo';
}, 300);
};
var delayFour = function(preValue) {
setTimeout(function() {
console.log(preValue);
}, 400);
};
Q.fcall(delayOne).then(delayTwo).then(delayThree).then(delayFour).end();
esto sólo devuelve undefined ...
gracias por la solución. A la par de eso, tengo que tomar la decisión si uso Q, lo que mejoraría mucho la calidad de mi código en el otro lado, resultaría en una fuerte dependencia. ¿Tienes experiencia si este problema? – bodokaiser
si usa muchas llamadas asincrónicas encadenadas, entonces necesitará alguna biblioteca para escapar de la 'Pirámide del Destino' :). Personalmente prefiero asyncjs: https://github.com/caolan/async, y lo utilicé con éxito en algunos proyectos de tamaño mediano. – wroniasty