Keasingkronan Tugas dalam Gulp

Anda harus memahami bahawa semua tugas Gulp - adalah asinkron. Apa maksudnya, mari kita lihat dengan contoh. Katakan di dalam tugas awam dua tugas peribadi dipanggil:

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

Keasingkronan bermakna tugas task2 tidak akan menunggu sehingga selesai tugas task1, tetapi akan dilaksanakan selari dengannya.

Mari kita fikirkan ini dengan contoh yang lebih praktikal. Katakan tugas pertama menukar LESS kepada CSS, dan tugas kedua - meminimumkan CSS yang diperoleh.

Dalam kes ini, kita akan menghadapi masalah: kerana fail CSS tidak boleh diminimumkan sebelum hasil kompilasi LESS masuk ke dalamnya!

Walau bagaimanapun, jika tugas dilaksanakan secara segerak - secara berurutan satu demi satu, kita akan menghadapi masalah lain: tugas yang boleh dilaksanakan secara selari, akan dilaksanakan satu demi satu, memperlahankan kerja Gulp. Mari kita fikirkan ini juga dengan contoh.

Katakan tugas pertama meminimumkan fail CSS, dan tugas kedua - meminimumkan fail JavaScript. Jelaslah bahawa kedua-dua operasi yang tidak berkaitan ini boleh dilaksanakan secara serentak.

Nasib baik, Gulp menyediakan alat yang membolehkan kita nyatakan dengan jelas tugas mana yang patut dilaksanakan secara selari, dan mana yang patut - secara berurutan. Alat-alat ini akan kita bincangkan dalam pelajaran seterusnya.

Задание 1

Ciptakan contoh dua tugas yang harus dilaksanakan hanya secara berurutan.

Задание 2

Ciptakan contoh dua tugas yang harus dilaksanakan hanya secara selari.