[英]Node.Js trying to print JSON array via function from another file
Trying to print to my localhost a JSON array of all the managers but I'm greeted with a blank screen. 试图将所有管理器的JSON数组打印到我的本地主机,但屏幕空白。 The arrays are filled correctly, the problem is (most likely) occuring in the server.js file.
数组已正确填充,问题(很可能)发生在server.js文件中。 I'm not sure what though.
我不知道怎么办。 Any help appreciated.
任何帮助表示赞赏。 Edit: Apologies for missing some code in the original post
编辑:抱歉在原始帖子中缺少一些代码
//server.js //server.js
var HTTP_PORT = process.env.PORT || 8080;
var express = require('express');
var data = require('./data-service');
var getManagers = require('./data-service');
var fs = require('fs');
var app = express();
app.get('/managers', function(req,res){
var responseObject = getManagers();
res.send(responseObject);
});
app.listen(8080, function(){
});
app.use(express.static('public'));
//data-server.js //data-server.js
var employees = [];
var departments = [];
var error = 0;
var fs = require("fs");
function initialize(){
employees = fs.readFileSync("./data/employees.json", 'utf8', function(err, data){
if(err){
error = 1;
}
employees = JSON.parse(data);
});
departments = fs.readFileSync("./data/department.json", 'utf8',function(err, data){
if(err){
error = 1;
}
departments = JSON.parse(data);
});
}
function check() {
return new Promise(function(resolve,reject){
if (error === 0){
resolve("Success");
}
else if(error === 1){
reject("unable to read file");
}
})
};
var getManagers = function(){
check().then(function(){
var employees2 = JSON.parse(employees);
for (var i = 0; i < employees2.length; i++){
if(employees2[i].isManager == true){
console.log(employees2[i]);
}
}
}).catch(function(){
console.log("no results found");
})
}
initialize();
module.exports = getManagers;
Make sure that initialize
is called in the constructor of your class. 确保在类的构造
initialize
中调用了initialize
。
// Let's assume we create a Node module called
// 'myobject' from this.
function MyObject() {
this.initialize();
}
MyObject.prototype = {
initialize: function() {
.... //use this.employees
}
check: function() {
...
},
getManager: function(){
...//use this.employees
}
};
module.exports = MyObject;
Calling this module should be like the following: 调用此模块应如下所示:
var MyObject = require('myobject');
var m = new MyObject();
m.getManagers();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.