Если вы хотите, вы можете использовать сокращение, чтобы выполнить последовательное обещание, например:
[2,3,4,5,6,7,8,9].reduce((promises, page) => {
return promises.then((page) => {
console.log(page);
return Promise.resolve(page+1);
});
}, Promise.resolve(1));
он всегда будет работать последовательно.