文件读取Javascript后,全局变量保持不变

文件读取Javascript后,全局变量保持不变,javascript,html,node.js,electron,Javascript,Html,Node.js,Electron,我正在处理Electron.JS,并将JSON文件内容推送到一个变量(全局)中。但该变量不显示文件读取代码块之外的内容 var fs = require('fs'); var nodeConsole = require('console'); var myConsole = new nodeConsole.Console(process.stdout, process.stderr); var dir = __dirname+'/gstn'; var itemsDoubleList = [];

我正在处理Electron.JS,并将JSON文件内容推送到一个变量(全局)中。但该变量不显示文件读取代码块之外的内容

var fs = require('fs');
var nodeConsole = require('console');
var myConsole = new nodeConsole.Console(process.stdout, process.stderr);
var dir = __dirname+'/gstn';

var itemsDoubleList = [];

fs.readFile(dir+'/items.json', 'utf8', function(err, data){
    if(err)
        myconsole.log(err)
    else{

        for(var i=0; i<(JSON.parse(data)).length; i++){
            var temp = (JSON.parse(data))[i]; 
            itemsDoubleList.push([temp.hsnCode, temp.itemName, temp.itemUnit, temp.itemRate, temp.itemGST]);
        }
    }
    myConsole.log(itemsDoubleList); //shows file contents
});


myConsole.log(itemsDoubleList); // doesn't show file contents
var fs=require('fs');
var nodeConsole=require('console');
var myConsole=newnodeconsole.Console(process.stdout,process.stderr);
var dir=uu dirname+'/gstn';
var itemsDoubleList=[];
fs.readFile(dir+'/items.json',utf8',函数(err,data){
如果(错误)
myconsole.log(错误)
否则{

对于(var i=0;i函数,
readFile
异步地读取文件的内容,因此当您在调用
readFile
之后记录
itemsDoubleList
时,它还没有设置


您可以使用
fs.readFileSync
,它是
readFile

的同步版本,这是正确的。因此全局变量稍后会受到影响