运行节点程序时出错。 模块“提示”不起作用

我正在尝试与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()); } }); 

当我运行: 节点解决以下错误出现:

 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 

resultpromptcallback中, quad在外面。 所以result将是undefined

在callback中移动quad代码。