带参数和回调的gulp任务

时间:2016-01-09 13:51:29

标签: asynchronous gulp

我想在gulp任务中添加一个参数,该任务已经使用回调函数来指示任务何时完成,有没有办法做到这一点?

电流:

gulp.task('build', build);

function build(done) {
    // do stuff here
    done();
}

所需:

gulp.task('buildA', build(optionsA));
gulp.task('buildB', build(optionsB)); 

function build(options, done) {
     // do stuff here with params
     done();
}

这给出了“完成未定义”的错误。

1 个答案:

答案 0 :(得分:0)

你有几种方法可以做到这一点:

首先,在这之前调用一个闭包:

gulp.task('buildA', build(optionsA));
gulp.task('buildB', build(optionsB)); 

function build(options) {
    return function (done) {
        // do stuff here with params
        done();
    }    
}

其次,使用所需选项绑定当前函数:

gulp.task('buildA', build.bind(null, optionsA));
gulp.task('buildB', build.bind(null, optionsB)); 

function build(options, done) {
     // do stuff here with params
     done();
}