【gulp】タスク内で run-sequence を使うなら気をつけること
基本的にタスク内で run-sequence を使うなら、引数のコールバックを最後に指定するべき。
つまりこんな感じ。
gulp.task('hoge-fuga', function(callback) { runSequence('hoge', 'fuga', callback); // <- 引数 callback を最後に指定する });
こうしないと同期されない。
次の場合は処理の順番が保証されず、期待通りに動かないことがあるので注意したい。
gulp.task('hoge-fuga', function() { runSequence('hoge', 'fuga'); }); gulp.task('task', function() { runSequence('hoge-fuga', 'piyo'); });
上記だと、task
を実行した際、hoge-fuga
内のタスクが非同期で動き出し、後に続く piyo
がこれらの終わりを待たずに実行される。
処理の重さによっては、一番最後の piyo
が先に終わる場合もあり得る。
watch
とか、後に続く処理が無ければコールバックは無くても良い。