Подзадача асинхронного завершения сигнала gulp4 - PullRequest
0 голосов
/ 22 октября 2019

Я использую gulp для настройки среды для моего приложения. Для этого у меня есть следующий набор задач

const needsEnvUpdate = env => {
   return false if last run was same env, otherwise true. Reads this from a file.
}

const updateEnvironment = env => {
    returns a merged stream of gulp.src.pipe calls.
}

const buildEnv = (cb, env) => {
    function updateEnv() {
        return updateEnvironment(env);
    }

    function dummyCompleter(callback) {
        callback();
        cb();
    }

    if (needsEnvUpdate(env)) {
        gulp.series("setuptask1", "setuptask2", updateEnv, dummyCompleter)();
    } else {
        cb();
    }
};

gulp.task("env-dev", cb => {
    buildEnv(cb, "dev");
});

gulp.task("env-beta", cb => {
    buildEnv(cb, "beta");
});

gulp.task("env-prod", cb => {
    buildEnv(cb, "prod");
});

Я не могу понять, как сделать эту работу без необходимости задачи "dummyCompleter". FWIW: Я назвал эти функции просто так, чтобы gulp сообщал о них по имени, а не как "" для отчетов о начале и завершении.

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

Приветствия.

...