【发布时间】:2019-06-16 16:01:21
【问题描述】:
我想让我的主进程等待 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
【问题讨论】:
-
这是Duplicate,请在提问前搜索 StackOverflow。
标签: javascript exec