服务器启动时,我正在调用一个函数:
server.listen(port, someFunction());
在该函数中,我执行了一些异步操作来填充对象内部的数据。
我想与其他文件共享该对象中填充的所有数据。
someFunction(){
someObject={
//this gets populated with some asynchronous operation.
}
functionInsideFunction(){
//I want this function to return someObject of the parent function
}
//This function can't return anything because it shows error, as this is
// being invoked at the server start.
}
我想导出functionInsideFunction以便我可以将someData存储在someFunction的其他文件中!
那我该怎么办!!
答案 0 :(得分:0)
Server.listen需要一个回调函数,但是someFunction似乎没有返回任何人。
您可以在someFunction中执行server.listen(port, someFunction.functionInsideFunction);
或return functionInsideFunction() {}
。
答案 1 :(得分:0)
您还可以执行以下操作:
const http = require('http')
// create your global object
let myObj = { }
var requestListener = function (req, res) {
// use the object
console.log(myObj);
res.writeHead(200);
res.end('Hello, World!');
}
var server = http.createServer(requestListener);
server.listen(3000, function() {
console.log("Listening on port 3000")
// fill the object here
myObj = {
'name': 'hello'
};
});