nodejs局部变量输出为全局变量怎么做到?
发布于 8 年前 作者 seanzxc 7404 次浏览 来自 问答

var request=require(‘request’); var EventProxy=require(‘eventproxy’); var json2xls = require(‘json2xls’); var fs = require(‘fs’); var ep=new EventProxy(); var invoice = []; data=[{ “p1”:1, “p2”:2, “items”:[ {“pa”:“a”}, {“pa”:“b”} ] }, { “p1”:7, “p2”:8, “items”:[ {“pa”:“a”}, {“pa”:“b”} ] }] var invoice =[]; var invoices = []; function conver(e){

//console.log(e); e.items.forEach(function(y){ var temp={ “p1”:e.p1, “p2”:e.p2, “pa”:y.pa }; invoice.push(temp); }); return invoice; };

function initGetOrder(){ ep.on(‘GetOrder’,function(orders){ orders.forEach(function(y){ //遍历data数组,取出每个

  var invoice=conver(y);

  ep.emit('postOrder',invoice)
});

});

ep.on(‘postOrder’,function(invoice){

  invoices.push(invoice);
  console.log(invoices);
});

ep.fail(function(err){ console.log(err); }); }; initGetOrder(); //初始化 ep.emit(‘GetOrder’,data);

以上是全部代码

数据库是data

问题是,想求问一下各位大神,我的这个函数中的函数的局部变量,如何可以变成全局变量来使用呢? function conver(e){

//console.log(e); e.items.forEach(function(y){ var temp={ “p1”:e.p1, “p2”:e.p2, “pa”:y.pa }; invoice.push(temp); }); return invoice; };

2 回复

nodejs里面可以用global来声明整个进程下的全局变量 例如 var global.invoice=null;

或者写成一个module

回到顶部