Задача Джейка выполняет длительную системную команду.Другая задача зависит от того, что первая задача полностью завершена перед началом.Функция 'exec' child_process 'выполняет системные команды асинхронно, что позволяет запустить второе задание до завершения первого.
Какой самый чистый способ написания Jakefile, чтобы гарантировать, что длинный-running системная команда в первой задаче заканчивается до запуска второй?
Я думал об использовании опроса в фиктивном цикле в конце первой задачи, но это просто пахнет плохо.Кажется, должен быть лучший путь.Я видел этот ТАК вопрос , но он не совсем отвечает на мой вопрос.
var exec = require('child_process').exec;
desc('first task');
task('first', [], function(params) {
exec('long running system command');
});
desc('second task');
task('second', ['first'], function(params) {
// do something dependent on the completion of 'first' task
});