2016-01-09 3 views
1

Я хотел бы добавить параметр к задаче 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(); 
} 

Это дает ошибку "сделано не определено.

+0

Как насчет закрытия? Функции, которые получают параметры и возвращают функцию, возвращающую функцию задачи? –

+0

Я думаю, что вижу, о чем вы говорите .. так что у меня будет функция buildA (done) и buildB (done), которая вызывает сбор строки в правильных параметрах и обратном вызове? –

ответ

0

У вас есть несколько способов сделать это:

Во-первых, сделать -замыкание Invoke перед тем, как это:

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(); 
} 
Смежные вопросы