promise chaining

by Rowan Hamilton

JavaScript

// JS promise example of series chaining
let series1 = function(){
    return new Promise(function(resolve, reject){
        resolve('series 1 fired');
    });
}

let series2 = function(message){
    return new Promise(function(resolve, reject){
        resolve(message + ' series 2 fired');
    });
}

let series3 = function(message){
    return new Promise(function(resolve, reject){
        resolve(message + ' series 3 fired');
    });
}


series1().then(function(result){
    return series2(result);
}).then(function(result){
    return series3(result);
}).then(function(result){
    console.log('all done ' + result);
})


Promise.race([series1(), series2(), series3()]).then(function(){
    console.log('all ran at same time and came back')
})