javascript - node.js "undefined"神秘出现

标签 javascript node.js undefined

我有以下node.js 文件:

//test.js:
var hash=require('./hash');
var sys=require('sys');

sys.puts(hash.hash("asdf","asdf"));

//hash.js:
var exec=require('child_process').exec;
var sys=require('sys');

exports.hash=function(data,hash_type){
        exec('pwd',function callback(error,stdout,stderr){
                sys.puts(stdout);
        });
}

当我执行node test.js时,我得到以下输出:

eamorr@Compaq6000:~/Desktop/simple-hash$ node test.js 
undefined
/home/hynese/Desktop/nodejs-simple-hash

为什么我得到“未定义”???我真的被困在这里了...

非常感谢任何帮助。

提前非常感谢,

最佳答案

更改:

sys.puts(hash.hash("asdf","asdf"));

只是:

hash.hash("asdf","asdf");

您正在输出 hash.hash 的返回值,尽管由于您没有提供返回值,所以语言返回 undefined,然后将其输出到屏幕。您已经在回调中输出了系统命令的结果,因此您不需要另一个 sys.puts

顺便说一句,您可能不需要将该回调函数命名为 callback

关于javascript - node.js "undefined"神秘出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788652/

相关文章:

javascript - 无法在不刷新的情况下进行超过 1 次插入

javascript - 在 Meteor 中对发布、订阅和数据进行过滤和排序

javascript - 表单提交在控制台中显示奇怪的错误

javascript - Jest SpyOn 值而不是 getter

jquery - 检查 jQuery 和 jQuery UI 是否已加载

javascript - v8 在 C++ 中从 nodejs 中提取全局对象

javascript - 如何在 Javascript 中使用正则表达式提取可选查询参数

javascript - 格式化问题 : DropDown of checkboxes

javascript - 检查对象的所有属性是否未定义

facebook - parseInt 返回未定义