gulp4信号异步完成子任务

时间:2019-10-21 21:13:30

标签: gulp-4

我正在使用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通过名称而不是“开始和结束”报告中的“ ”来报告它们。

所以没什么大不了的,但是我敢肯定一定有一种方法可以逃避我。

干杯。

0 个答案:

没有答案