【问题标题】:Global variable remains unchanged after file read Javascript [duplicate]文件读取Javascript后全局变量保持不变[重复]
【发布时间】:2018-11-12 05:20:32
【问题描述】:

我正在研究 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

【问题讨论】:

    标签: javascript html node.js electron


    【解决方案1】:

    readFile 函数异步 读取文件的内容,因此当您在调用readFile 之后登录itemsDoubleList 时,它尚未设置。

    您可以使用fs.readFileSync,这是readFile的同步版本

    【讨论】:

    • 没错。所以全局变量会受到影响,稍后
    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2012-11-05
    相关资源
    最近更新 更多