Ответ 1
В документации gulp указано что-то похожее на следующее:
var gulp = require('gulp');
// Takes in a callback so the engine knows when it'll be done
// This callback is passed in by Gulp - they are not arguments / parameters
// for your task.
gulp.task('one', function(cb) {
// Do stuff -- async or otherwise
// If err is not null and not undefined, then this task will stop,
// and note that it failed
cb(err);
});
// Identifies a dependent task must be complete before this one begins
gulp.task('two', ['one'], function() {
// Task 'one' is done now, this will now run...
});
gulp.task('default', ['one', 'two']);
Проводящий аргумент передается в функцию обратного вызова, используемую для определения ваших задач.
Функция задания может принимать параметр функции "обратный вызов" (часто этот параметр функции называется done
). Выполнение этой функции done
сообщает gulp "подсказку, чтобы сказать это, когда задача выполнена".
Gulp требуется эта подсказка, если вы хотите заказать ряд задач, которые зависят друг от друга, как показано в приведенном выше примере. (т.е. задача two
не начнется, пока задача one
не вызовет cb()
). По сути, она перестает запускать задачи одновременно, если вы не хотите их.
Подробнее об этом вы можете узнать здесь: https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support