У меня следующая ситуация, которая, как мне кажется, должна быть стандартным случаем, но я не могу найти ничего о том, как с ней справиться.
Определение задачи следующее:
task('doSomething', series('setup', 'a', 'b', 'c', 'cleanup'));
Если одна из задач a,b,c
не выполняется, cleanup
не выполняется. Есть ли лучший способ сделать это, чем программно (я думаю, что должно быть возможно что-то подобное):
task('doSomething', async () => {
try{
await gulp.start('setup');
await gulp.start(series('a', 'b', 'c'));
} catch (err) {
} finally {
await gulp.start('cleanup');
}
});