यदि आपके पास आश्रित कार्य हैं, तो आपको स्वयं को चलाने से पहले कार्यों को पूरा करने के लिए अपने आश्रित कार्यों की प्रतीक्षा करने के लिए स्ट्रीम को वापस करने की आवश्यकता है ।
जैसे
// without return
gulp.task('task1', function() {
gulp.src('src/coffee/*.coffee')
/* eg compile coffeescript here */
.pipe(gulp.dest('src'));
});
gulp.task('task2', ['task1'], function() {
gulp.src('src/*.js')
/* eg minfify js here */
.pipe(gulp.dest('dest'));
});
उस उदाहरण में आप task2 के पूरा होने से पहले task1 को पूरा करने की उम्मीद करते हैं (उदाहरण के लिए कॉफ़ीस्क्रिप्ट या जो भी हो) ... लेकिन जब तक हम रिटर्न नहीं जोड़ते - नीचे दिए गए उदाहरण की तरह - तब वे सिंक्रोनाइज़ नहीं होंगे; और संकलित coffeescript न्यूनतम किया गया नहीं किया जाएगा क्योंकि task2 कार्य 1 को पूरा करने के लिए प्रतीक्षा की है नहीं होगा और इतने की संकलित उत्पादन पर लेने नहीं होगा task1 । इसलिए हमें हमेशा इन परिस्थितियों में वापस आना चाहिए।
// with return
gulp.task('task1', function() {
return gulp.src('**/*.coffee')
/* your operations here */
.pipe(gulp.dest('dest'));
});
gulp.task('task2', ['task1'], function() {
return gulp.src('**/*.js')
/* your operations here */
.pipe(gulp.dest('dest'));
});
संपादित करें: यहां की रेसिपी इसे आगे बताती है। https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md