Gulp-ის ამოცანების კომპოზიციები

Gulp-ის ამოცანების გაერთიანება შესაძლებელია ჯგუფებში (კომპოზიციები), რომლებშიც ამოცანები შესრულდება თანმიმდევრულად ან პარალელურად.

მოდით ვნახოთ, როგორ კეთდება ეს. მაგალითისთვის ავიღოთ შემდეგი ამოცანები:

javascriptfunction task1(cb) {
  cb();
}
function task2(cb) {
  cb();
}

თანმიმდევრული შესრულება

ამოცანების თანმიმდევრული შესრულებისთვის განკუთვნილია ფუნქცია series. ეს ფუნქცია პარამეტრებად იღებს ნებისმიერი რაოდენობის ამოცანას და ასრულებს მათ თანმიმდევრობით ჩამოთვლის რიგით.

თავიდან ეს ფუნქცია საჭიროა იმპორტი გაკეთდეს Gulp-ის ბიბლიოთეკიდან:

javascriptconst { series } = require('gulp');

ახლა ჩვენ შეგვიძლია გამოვიყენოთ ეს ფუნქცია:

javascriptfunction taskD(cb) {
  series(task1, task2);
  cb();
}

exports.default = taskD;

შესაძლებელია series-ის მუშაობის შედეგის პირდაპირ ექსპორტი, ზედმეტი ფუნქციის შექმნის გარეშე საჯარო ამოცანისთვის:

javascriptexports.default = series(task1, task2);
Задание 1

შექმენით სამი ამოცანა, რომლებიც შესრულდება თანმიმდევრულად ერთმანეთის მიყოლებით.

პარალელური შესრულება

ამოცანების პარალელური შესრულებისთვის განკუთვნილია მსგავსი ფუნქცია parallel(). მოდით შევხედოთ მის მუშაობას.

თავიდან მოდით დავუკავშიროთ იგი:

javascriptconst { parallel } = require('gulp');

გამოვიყენოთ ჩვენი ფუნქცია საჯარო ამოცანის შიგნით:

javascriptfunction taskD(cb) {
  parallel(task1, task2);
  cb();
}

exports.default = taskD;

ან უბრალოდ გავაექსპორტოთ მუშაობის შედეგი:

javascriptexports.default = parallel(task1, task2);
Задание 2

შექმენით სამი ამოცანა, რომლებიც შესრულდება პარალელურად.

კომბინაციები

ფუნქციები series და parallel() შესაძლებელია ერთმანეთში იყოს ჩადგმული ნებისმიერი კომბინაციით, მაგალითად, ასე:

javascriptexports.default = series(task1, parallel(task2, task3));
Задание 3

შექმენით ხუთი ამოცანა. მოიფიქრეთ კომბინაციების მაგალითები ამ ამოცანებთან.