Bir akış döndürmezseniz, her görevin eşzamansız sonucu, arayan tarafından veya herhangi bir bağımlı görev tarafından beklemez.
Örneğin
, dönen olmayan akarsuların: scripts
görev tsc
görev bağlıdır burada
$ gulp scripts
[21:25:05] Using gulpfile ~/my-project/gulpfile.js
[21:25:05] Starting 'tsc'...
[21:25:05] Finished 'tsc' after 13 ms
[21:25:05] Starting 'scripts'...
[21:25:05] Finished 'scripts' after 10 ms
[21:25:05] Compiling TypeScript files using tsc version 1.0.1.0
Not. tsc
'un 13 milisaniyede tamamlandığını bildirir, ki bu kesinlikle makul olduğuna inanılmak için çok hızlıdır. Daha sonra scripts
görevi, çok küçük bir süre içinde yeniden başlatılıyor ve tamamlanıyor gibi görünüyor. Son olarak, tsc
tarafından gerçekleştirilen gerçek işlem başlatılır. Açıkça, ne tsc
ne de scripts
, tamamlama adımının tamamlanmasını beklemiyordu. Bu görevleri kendi akışları döndüğünüzde
, çıkış yerine farklı görünür: Burada
$ gulp scripts
[21:42:25] Using gulpfile ~/my-project/gulpfile.js
[21:42:25] Starting 'tsc'...
[21:42:25] Compiling TypeScript files using tsc version 1.0.1.0
[21:42:32] Finished 'tsc' after 6.65 s
[21:42:32] Starting 'scripts'...
[21:42:32] Finished 'scripts' after 204 ms
dizisi mantıklı ve bildirilen süreler beklentilerini karşılamak.
Yalancı olmayan ancak akışları içermeyen bir yüce göreviniz varsa ne olur? 'Done()' işlevini çağırabilir veya bir söz verebilir misiniz? – Bill
Görevi, son parametre olarak bir geri arama işlevini kabul edecek şekilde tanımlayabilirsiniz ya da bir söz verebilirsiniz. Buraya bakın: https://github.com/gulpjs/gulp/blob/v3.9.1/docs/API.md#gulptaskname--deps-fn –