导出另一个函数内部的函数

时间:2019-05-23 14:39:15

标签: javascript node.js export currying

服务器启动时,我正在调用一个函数:

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的其他文件中!

那我该怎么办!!

2 个答案:

答案 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'
  };
});