как передать переменную из файла в другой с помощью nodejs

#node.js #mongoose #d3.js

#node.js #мангуст #d3.js

Вопрос:

Я получаю данные из api и хотел бы передать их в другой файл с помощью d3.js чтобы создать диаграмму. Вот код, в котором я получаю данные:

 //app.js file  app.get("/getAlbumData",(req,res)=gt; {  Wasabi.find( { publicationDate: { $gte : 2006, $lte : 2016}}, function (err, doc) {  console.log(doc)  res.send(doc);  res.end();   }).limit(25).forEach(function(data)  {  for(var i in data)  {  if(data[i]==null || data[i]=='')  {  delete data[i]  }  }  result.push(data)  return result   }) })  

Я бы передал переменную «результат» в следующий файл, чтобы использовать ее в функции d3.json:

 //barchart.js   d3.json(result, function (data) {   let filteredData=[];  console.log("data", data[0])  data.forEach((d,i)=gt;{    if(d.country != undefined ) {  if (d.country.localeCompare(country) == 0) {  filteredData.push(d) }  

Я попытался использовать «требуется», но оно выдает исключение о том, что оно не определено. Спасибо вам за вашу помощь

Ответ №1:

вы можете измениться app.js следующим образом.

 const fetchData = async (req,res)=gt; {  var resp = await Wasabi.find( { publicationDate: { $gte : 2006, $lte : 2016}}).limit(25);    result = [];    resp.forEach(function(data) {  for(var i in data)  {  if(data[i]==null || data[i]=='')  {  delete data[i]  }  }  result.push(data)  })    return result; };  exports.fetchData = fetchData;  

в barchart.js файл

 const { fetchData } = require('./app.js');  const result = fetchData(); // here you can access the result data