@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() после прохождения всего цикла?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 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 для того что бы самостоятельно ждать окончания выполнения асинхронной функции
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы