Последовательная загрузка файлов Node.js

const http = require('https');
const fs = require('fs');

// Загрузка одного файла
const asyncDownload = (url, fileName, dir) => new Promise((resolve, reject)=>{
    const dest = `${dir}/files/${fileName}`;
    const file = fs.createWriteStream(dest);
    http.get(url, function(response) {
        response.pipe(file);
        file.on('finish', function() {
            file.close(resolve); 
        });
    }).on('error', function(err) { 
        fs.unlink(dest, () => reject(err.message));
    });
});

// Последовательная загрузка файлов
const downloadFiles = async (arrUrl, dir) => {
    try {
       for(const url of arrUrl){
           const fileName = url.split('.').pop();
           await asyncDownload(url, fileName, dir);
           console.log('\x1b[42m', `Download file ${fileName} is finished`)
       }
    } catch (e) {
        console.error(e)
    }
}