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:
function 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.
Ciptakan contoh dua tugas yang harus dilaksanakan hanya secara berurutan.
Ciptakan contoh dua tugas yang harus dilaksanakan hanya secara selari.