Я хочу, чтобы мой основной процесс ожидал некоторого вывода из exec.
Я хочу заставить программу выполнять шаги последовательно, ожидая каждого шага, прежде чем перейти к следующему шагу.Я чувствую, что это должно быть легко, но я не могу понять, как это сделать.
С другими языками по умолчанию стоит ждать, например, в Perl следующие 5 строк будут делать именно то, что я хочу.
print("START")
print(`sleep 3; echo 1`)
print(`sleep 2; echo 2`)
print(`sleep 1; echo 3`)
print("END")
Как это сделать в Node JavaScript?
Вот мой код до сих пор
const util = require('util');
const exec = require('child_process').exec;
function sleepy1() {
exec("sleep 3; echo 1", function( stderr, stdout ) {
console.log( stdout.trim() )
})
}
function sleepy2() {
exec("sleep 2; echo 2", function( stderr, stdout ) {
console.log( stdout.trim() )
})
}
function sleepy3() {
exec("sleep 1; echo 3", function( stderr, stdout ) {
console.log( stdout.trim() )
})
}
console.log("START")
sleepy1()
sleepy2()
sleepy3()
console.log("END")
Вот вывод из кода:
$ node make_it_wait.js
START
END
3
2
1