首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >node.js“未定义”神秘现身

node.js“未定义”神秘现身
EN

Stack Overflow用户
提问于 2011-07-22 10:25:27
回答 1查看 754关注 0票数 0

我有以下node.js文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//test.js:
var hash=require('./hash');
var sys=require('sys');

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//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时,我得到以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
eamorr@Compaq6000:~/Desktop/simple-hash$ node test.js 
undefined
/home/hynese/Desktop/nodejs-simple-hash

为什么我变得“不确定”?我真的被困在这里了。

任何帮助都是非常感谢的。

在此之前,非常感谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-22 10:29:49

更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sys.puts(hash.hash("asdf","asdf"));

仅仅是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hash.hash("asdf","asdf");

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6788652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文