задача, которая использует forEach, не завершается - PullRequest
0 голосов
/ 27 февраля 2020

Скорее, новый как для глотка, так и для javascript. Сценарий, который я написал, возвращает ошибку (добавляется в конце сообщения.)

Это минимальный пример файла:

const {src, dest, series, parallel }= require('gulp');
const sourceList = ['about', 'contact', 'projects'];

// Next 2 functions take each html file and move them to respective dist folder.

function eachHtml(){
  sourceList.forEach(function(htmlFile){
    cphtmlTask(`source/${htmlFile}/${htmlFile}.html`, `dist/${htmlFile}/`)
  });
  //cphtmlTask('source/index.html', 'dist/');
}

function cphtmlTask(i,o){
  return src(i)
    .pipe(dest(o));
}

exports.default = series(eachHtml);

Вывод

[17:55:19] Starting 'default'...
[17:55:19] Starting 'eachHtml'...
[17:55:19] The following tasks did not complete: default, eachHtml
[17:55:19] Did you forget to signal async completion?

Любая помощь, пожалуйста?

1 Ответ

1 голос
/ 27 февраля 2020

Я думаю, все, что вам нужно, это:

function eachHtml(cb){

  sourceList.forEach(function(htmlFile){
    cphtmlTask(`source/${htmlFile}/${htmlFile}.html`, `dist/${htmlFile}/`)
  });

  cb();

 //cphtmlTask('source/index.html', 'dist/');
}

То, что cb - это функция обратного вызова, которая будет сигнализировать глотку, что задача eachHtml завершена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...