Jake任務執行長時間運行的系統命令。另一項任務取決於第一項任務在開始前完全完成。 'child_process'的'exec'功能異步執行系統命令,從而可以在第一個任務完成之前開始第二個任務。Node.js和Jake - 如何在任務中同步調用系統命令?
寫入Jakefile以確保第一個任務中長時間運行的系統命令在第二個任務開始之前完成的最簡潔方法是什麼?
我想過在第一個任務結束時在一個虛擬循環中使用輪詢,但這只是味道不好。似乎必須有更好的方法。我見過this SO question,但它不能解決我的問題。
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
});
爲什麼不完成第一個任務會發出信號,並且該信號的偵聽器會產生第二個任務? – Keith