3 javascript spawn child-process node.js
var promise = require('child-process-promise').spawn;
promise('some_command_producing_output')
.then(function (result) {
...
})
.catch(function (err) {
...
});
Run Code Online (Sandbox Code Playgroud)
我想要的是在命令在标准输出中生成输出后添加一些处理。所以最后我想创建一个像这样使用的函数:
RunCommandAndProcess('some_command_producing_output')
.then(function (result) {
...
})
.catch(function (err) {
...
});
Run Code Online (Sandbox Code Playgroud)
该函数应该使用子进程承诺中的承诺,等待产生成功结果并返回处理数据的承诺。
欢迎来到 Stack Overflow @ScHoolboy。
我可以建议您使用 Node.js 中的基本子进程模块,并通过以下方式自行承诺
const spawn = require('child_process').spawn;
const spawnPromise = (cmd, args) => {
return new Promise((resolve, reject) => {
try {
const runCommand = spawn(cmd, args);
runCommand.stdout.on('data', data => resolve(data.toString()));
runCommand.on('error', err => {
throw new Error(err.message);
});
} catch (e) {
reject(e);
}
});
};
Run Code Online (Sandbox Code Playgroud)
在哪里:
如果需要,您可以将该函数调用为 RunCommandAndProcess :)
使用示例:
spawnPromise('ls', ['-la']).then(data => console.log('data: ', data));
Run Code Online (Sandbox Code Playgroud)
或者
const result = await spawnPromise('ls', ['-la']);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3089 次 |
| 最近记录: |