Question

I have 3 functions that I want to execute one after another, only when the previous function has finished its task. I use When Promise library for this,

function taskA(){
    var d = when.defer();
    d.resolve();
    return d.promise;
}
function taskB(){
    var d = when.defer();
    d.resolve();
    return d.promise;
}
function taskC(){
    var d = when.defer();
    d.resolve();
    return d.promise;
}

taskA().then(function(){
    taskB().then(function(){
        taskC().then(function(){
}); }); });

Is this how it's supposed to be? I was under the impression I could easily avoid callbacks and its "pyramid of doom" using promises, or am I using them wrong?

Était-ce utile?

La solution

What about

taskA()
   .then(taskB)
   .then(taskC)
   .then(function(){});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top