Javascript 如何将txt文件返回的数据保存到函数外部的数组?
这是我第一次使用javascript,我正在尝试将从.txt文件中提取的数据保存在一个数组中,该数组是我在代码开头和外部声明的。(这是电子结构) 我试图提取数据并保存到数组中Javascript 如何将txt文件返回的数据保存到函数外部的数组?,javascript,Javascript,这是我第一次使用javascript,我正在尝试将从.txt文件中提取的数据保存在一个数组中,该数组是我在代码开头和外部声明的。(这是电子结构) 我试图提取数据并保存到数组中 const { remote } = require('electron') const app = remote.app const $ = require('jquery') const fs = require('fs') const dialog = remote.dialog const win = remot
const { remote } = require('electron')
const app = remote.app
const $ = require('jquery')
const fs = require('fs')
const dialog = remote.dialog
const win = remote.getCurrentWindow()
let dataMeetingsFromTxt
{...}
function readMeetingsToSaveIntoArray() {
dataMeetingsFromTxt = []
fs.readFile('./dataMeetings.txt', 'utf-8', (err, data) => {
if (err) throw err;
dataMeetingsFromTxt = data.toString().split("\n");
})
}
{...}
$('.oneBTN').on('click', () => {
readMeetingsToSaveIntoArray()
console.log(dataMeetingsFromTxt.length) //The output is always 'undefined'
})
输出总是“未定义”。这是因为fs.readFile是异步的。第三个参数是回调,这是应该执行console.log的地方。否则,单击处理程序上的console.log将在readFile的回调之前执行
const { remote } = require('electron')
const app = remote.app
const $ = require('jquery')
const fs = require('fs')
const dialog = remote.dialog
const win = remote.getCurrentWindow()
let dataMeetingsFromTxt
{...}
function readMeetingsToSaveIntoArray() {
dataMeetingsFromTxt = []
fs.readFile('./dataMeetings.txt', 'utf-8', (err, data) => {
if (err) throw err;
dataMeetingsFromTxt = data.toString().split("\n");
console.log(dataMeetingsFromTxt.length);
})
}
{...}
$('.oneBTN').on('click', () => {
readMeetingsToSaveIntoArray()
})
能否在
dataMeetingsFromTxt=data.toString().split(“\n”)行之后记录dataMeetingsFromTxt
代码>?如果单击两次按钮,是否仍未定义?这里可能缺少一个承诺。请注意,这里不需要data.toString(),因为您已经指定了“utf8”