Имеется код для генерации critical css:
module.exports = function(gulp, plugins) {
return function () {
var critical = require('critical'),
settings = require("./settings.js"),
urls = settings.urls,
dimensions = settings.dimensions;
dimensions.forEach(function(dimension){
urls.forEach(function(entry){
critical.generate({
src: settings.base_url + entry.url,
dest: settings.dest_folder + dimension.prefix + entry.name + '.css',
minify: true,
ignore: ['.big-header-wrapper', 'header.small'],
width: dimension.width,
height: dimension.height
});
});
});
};
}
Он сразу создает dimensions.lenght * urls.length заданий и ставит их в обработку. Как можно оформить код, чтобы задания шли по очереди: следующее начиналось, как только закончится предыдущее?