我正在尝试使用 Node.js 求二次方程。我有一个名为“discriminant.js”的文件,它将简单地计算提供参数的判别值。 我有另一个名为“qudratic.js”的文件,它将在计算后简单地返回根值。 最后我有一个名为“solve.js”的文件,其中包含以下代码:
var quad = require('./qudratic');
var prompt = require('prompt');
prompt.get(['a','b','c'], function(err, result){
if (err) {return onErr(err);}
console.log('Command-line input received');
console.log('a' + result.a);
console.log('b' + result.b);
console.log('c' + result.c);
});
quad(result.a,result.b,result.c, function(err, quadsolve){
if (err){
console.log('Error:', err)
}
else{
console.log("Roots are "+quadsolve.root1() + " "+ quadsolve.root2());
}
});
当我运行时:node solve 出现以下错误:
quad(result.a,result.b,result.c, function(err, quadsolve){
^
ReferenceError: result is not defined
at Object.<anonymous> (/home/sijan/workspace...../NODE/first/node_modules/solve.js:15:6)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:136:18)
at node.js:963:3
最佳答案
result
位于 prompt
回调内部,quad
位于其外部。所以 result
将是 undefined
。
在回调中移动 quad
代码。
关于javascript - 运行 Node 程序时出错。模块 'prompt' 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34624287/