我试图使一个函数,返回1后,从终端的命令是完全执行。
你知道怎么做吗?
这是我的代码:
const speed = async () => {
try {
exec(`speedtest`, (error, stdout, stderr) => {
if (error) {
// console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
console.log(stdout);
} catch (error) {
console.log('error')
}
知道speedtest命令需要一些时间来打印整个输出,我想只有在命令完全执行的情况下才继续其他代码行。
1条答案
按热度按时间ztyzrc3y1#
您可以使用Promises来实现这一点:
承诺将在
stdout
中的某些内容出现后解决。如果您想等待特殊的内容,可以使用regular expressions并添加timeout
arg:另一种方法是在子进程上使用
listeners
: