javascript - 运行 Node 程序时出错。模块 'prompt' 不工作

标签 javascript node.js

我正在尝试使用 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/

相关文章:

node.js - Node.js递归概念

node.js - 测试意外异常的最佳实践是什么?

javascript - “onclick”不适用于 EJS 和 Node

javascript - 为图库创建图像模态

javascript - 去除 JavaScript 列表中重复项的最佳方法是什么?

javascript - Visual Studio 2010 中缺少 javascript 智能感知

javascript - 在数组中查找具有特定值的对象

windows - 如何使用 NodeJS 在 Windows 上获取文件版本信息

javascript - 通过 AWS 开发工具包创建签名的 S3 和 Cloudfront URL

javascript - Webpack 不会捆绑我的 .css 文件