Я хочу, чтобы задача, выполняющая подзадачи синхронно в цикле, и такой цикл прерывается, когда подзадача меняет значение флага.Как запускать задачи Grunt синхронно (программно)?
Вот пример того, что я пытаюсь сделать:
grunt.registerTask('complexTask', 'Run sub-tasks synchronously.', function() {
var value;
do {
// 'changeValueTask' task sets 'importantValue'
grunt.task.run(['preTask', 'changeValueTask', 'postTask']);
value = grunt.config('importantValue');
} while (!value);
// ... end task
});
То, что я хочу, чтобы выйти из этого
- убедитесь, что каждый набор задач (
['preTask', 'changeValueTask', 'postTask']
) выполняется в порядке (последовательно) - и лучший способ вырваться из цикла
Можно ли это достичь?
Примечание: ближе всего я мог бы найти после некоторых исследований было то, что Grunt позволяет определить, что данный task B
терпит неудачу, если task A
не сделано (с grunt.task.requires: grunt.task.requires('A')
).
Не использовать цикл с рекурсивным подходом, вы можете сделать это асинхронно Что ж. – Bergi