3

我是新手。node.js这里我在 node.js 中编写了一个示例函数来打印json文件的内容,如下所示。

exports.getData =function(callback) {
readJSONFile("Conf.json", function (err, json) {
  if(err) { throw err; }
  console.log(json);

    });
console.log("Server running on the port 9090");

我在这里做的是我只想读取一个json文件并在控制台中打印内容。但我不知道如何调用该getData函数。运行此代码时,它仅打印sever running on the port..", not myjson` 内容。

我知道上面的代码不正确

如何调用函数node.js并打印json内容?

4

2 回答 2

4

Node.js 只是普通的 javascript。首先,您似乎缺少一个}. 由于它使问题更容易理解,因此我假设您console.log("Server...在外面exports.getData

您只需像其他任何方法一样调用您的函数:

...
console.log("Server running on the port 9090");
exports.getData();

我会注意到callback您的 getData 函数中有一个参数,但您没有调用它。也许它应该这样称呼:

exports.getData = function(callback) {
    readJSONFile("Conf.json", function (err, json) {
        if(err) { throw err; }
        callback(json);
    });
}
console.log("Server running on the port 9090");
exports.getData(function (json) {
    console.log(json);
});

说实话,您的 getData 函数有点多余,没有更多内容,因为它只是 wrap readJSONFile

于 2013-10-23T04:38:16.977 回答
3

不要采取错误的方式,但您的代码似乎是一堆不相关的示例。我建议您从学习 JavaScript 和 node.js 的基础知识开始(例如,阅读Eloquent JavaScriptFelix 的 Node.js 初学者指南)。


但是到你的代码。首先,您正在创建一个函数(称为getData)并将其导出。然后你打印“服务器在端口 9090 上运行”。您的脚本中没有服务器代码,并且您创建的函数永远不会执行。

我想这就是你打算写的:

readJSONFile("Conf.json", function (err, json) {
    if(err) { throw err; }
    console.log(json);
});

假设这readJSONFile是一个真正的功能。

于 2013-10-23T04:41:56.410 回答