@game802

Как отдать return, только после выхода из цикла в gulp'e?

Добрый день уважаемые знатоки. Есть следующий код:
gulp.task('copy-template', function() {
  for(var i = 0; i < directory.length; i++) {
    gulp.src(directory[i] + '**/*.*')
      .pipe(gulp.dest(directory[i] + 'template/'));
  }
  return true;
});

В данном случае, такой код не хочет работать. Как мне сделать так, чтобы он возвращал gulr.src() после прохождения всего цикла?
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
@F6CF
Для этого можно использовать модуль merge2:
import * as merge2 from 'merge2';
gulp.task('copy-template', ()=>{
  let tasks=[];
  for(var i = 0; i < directory.length; i++) {
    tasks.push(gulp.src(directory[i] + '**/*.*')
      .pipe(gulp.dest(directory[i] + 'template/')));
  }
  return merge2(tasks);
});

Либо использовать gulp4 и async/await из node v7 для того что бы самостоятельно ждать окончания выполнения асинхронной функции
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы