7
如何使用Bluebird来实现Node的child_process.exec和child_process.execFile函数的功能?
我正在Node.js下使用Bluebird Promise库,太好了!但是我有一个问题: 如果查看一下Node的child_process.exec和child_process.execFile的文档,您会发现这两个函数都返回一个ChildProcess对象。 那么推荐这种功能的推荐方法是什么? 请注意以下工作(我得到一个Promise对象): var Promise = require('bluebird'); var execAsync = Promise.promisify(require('child_process').exec); var execFileAsync = Promise.promisify(require('child_process').execFile); 但是如何获得原始Node.js函数的原始返回值?(在这些情况下,我将需要能够访问最初返回的ChildProcess对象。) 任何建议,将不胜感激! 编辑: 这是使用child_process.exec函数的返回值的示例代码: var exec = require('child_process').exec; var child = exec('node ./commands/server.js'); child.stdout.on('data', function(data) { console.log('stdout: ' + data); }); child.stderr.on('data', function(data) { console.log('stderr: ' + data); }); child.on('close', function(code) { console.log('closing …