Разрешать обещания одно за другим (т.е. по порядку)?

Рассмотрим следующий код, который читает массив файлов в последовательном / последовательном порядке. readFilesвозвращает обещание, которое разрешается только после последовательного чтения всех файлов. var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) {...