我是node.js / JavaScript的新手,所以请耐心等待。我正在实现一个名为 module.js 的节点模块,如下所示:
function run(cmd, arg) {
var exec = require('child_process').exec;
return new Promise(function(resolve, reject) {
exec(cmd + ' ' + arg, function(error, stdout, stderr) {
if (error)
reject(error);
else
resolve(stdout);
});
});
}
function getCon1() {
run('ls', '')
.then(function(result) {
return result;
}, function(err) {
console.log(err);
});
}
exports.getCon1 = getCon1;
function getCon2() {
run('ls', '-a')
.then(function(result) {
return result;
}, function(err) {
console.log(err);
});
}
exports.getCon2 = getCon2;
我的main.js
,我正在使用我的模块,看起来像这样:
var mod = require('./module');
console.log(mod.getCon1());
console.log(mod.getCon2());
我的问题是我的两个getter函数在 main.js 中返回undefined。对我来说,这有点令人恼火,因为我认为这正是承诺的目的:当then()
函数完成时,getter函数在run()
返回。
有人能帮我快点吗?谢谢!