Цепочка заданий asyn c в gulp - PullRequest
       17

Цепочка заданий asyn c в gulp

1 голос
/ 03 августа 2020

Я изучаю некоторые инструменты и хотел бы использовать gulp для автоматизации определенных задач.

Моя проблема в том, что я не могу связать задачи одну за другой. Ниже мой минимальный код, иллюстрирующий проблему.

package.json имеет "gulp": "^4.0.2", а ниже - мой gulpFile.js:

var gulp = require('gulp');

function showMessage(message) {
    setTimeout(() => {
        console.log(message);
    }, 500);
}

gulp.task('task1', async () => {
    showMessage("task 1 executed")
});

gulp.task('task2', async () => {
    showMessage("task 2 executed")
});

gulp.task('chainExample', gulp.series('task1', 'task2'));

При вызове задачи chainExample вывод консоли task1 и task2 выполняется после завершения задачи :

$ gulp chainExample
[01:11:24] Using gulpfile ..\gulpfile.js
[01:11:24] Starting 'chainExample'...
[01:11:24] Starting 'task1'...
[01:11:24] Finished 'task1' after 2.21 ms
[01:11:24] Starting 'task2'...
[01:11:24] Finished 'task2' after 819 μs
[01:11:24] Finished 'chainExample' after 7.68 ms
task 1 executed
task 2 executed

То, что я пытаюсь выполнить sh, - это вывод на консоль соответствующих задач в строках «Начало» и «Завершение».

Я также пробовал использовать gulp4-run-sequence безуспешно и с таким же выводом:

var runSequence = require('gulp4-run-sequence');
gulp.task('chainExample1', function(done) {
    runSequence('task1', 'task2', function() {
        done();
    });
});

Расскажите, пожалуйста, о том, как я могу правильно связать задачи. Большое спасибо!

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