Используйте Array.prototype.reduce
и не забудьте обернуть свои обещания функцией, иначе они уже будут запущены!
// array of Promise providers
const providers = [
function(){
return Promise.resolve(1);
},
function(){
return Promise.resolve(2);
},
function(){
return Promise.resolve(3);
}
]
const seed = Promise.resolve(null);
const inSeries = function(providers){
return providers.reduce(function(a,b){
return a.then(b);
}, seed);
};
приятно и легко ... вы должны иметь возможность повторно использовать то же самое семена для производительности и т. д.