Я знаю, что один часто используемый метод, чтобы сделать Глоток задача синхронным является return
выходом:Несколько синхронных потоков в одной задаче Gulp?
gulp.task('mytask', function(){
return gulp.src('myfile.css')
.pipe(dosomething())
.pipe(gulp.dest('./css'));
});
Но что делать, если есть несколько потоков, которые происходят в одной задаче?
gulp.task('anothertask', function(){
gulp.src('file1.css')
.pipe(dosomething())
.pipe(gulp.dest('./css'));
gulp.src('file2.css')
.pipe(dosomethingElse())
.pipe(gulp.dest('./css'));
});
Как вы собираетесь делать эту задачу синхронной? В настоящее время Gulp сообщает, что задача завершается немедленно, и потоки запускаются одновременно и завершаются после завершения задачи. Очевидно, это происходит потому, что никакие потоки не возвращаются. Должен ли я просто вернуть последний поток в задачу? Или более правильно возвращать результат обеих задач? Если да, то как вы это делаете?
Что-то вроде [поток серии] (https://github.com/rschmukler/stream-series), вероятно, что ты ищешь. –
Возможный дубликат [Как заставить вызовы gulp работать синхронно?] (Http://stackoverflow.com/questions/27459899/how-do-i-force-gulp-calls-to-run-synchronously) –
Возврат поток не делает задачу синхронной. Это просто дает gulp способ узнать, когда задача выполнена (прослушивание события «end» в потоке). – Ben