如何修复 json 文件读取代码 NodeJS Electron

How do I fix json file reading code NodeJS Electron

我正在编写一些代码来读取和解析我的 JSON,但由于某些未知原因,无法在函数外部访问已解析的数据。我的第一个控制台日志将 return 我的 JSON 数据,但最后一个不会。

有什么方法可以让 JSON 数据可以从脚本中的任何位置访问?

JavaScript:

const fs = require("fs/promises");

...

let continueCourses;
const getCurrentCourses = async () => {
    try {
        await fs.access("./data/user-courses.json");
    } catch {
        continueCourses = { courses: [] };
    }

    if (!continueCourses) {
        continueCourses = JSON.parse(await fs.readFile("./data/user-courses.json", "utf8"));
        console.log(continueCourses);
    }
};

getCurrentCourses()
console.log(continueCourses)

JSON:

{
    "courses": [
        {
            "id": "0",
            "title": "Getting Started with Hirigana",
            "desc": "Intro"
        },
        {
            "id": "1",
            "title": "Getting Started with Katakana",
            "desc": "Intro"
        }
    ]
}

您正在调用一个异步函数,因此您需要告诉 java 脚本等待结果。许多语法之一是


let continueCourses;
const getCurrentCourses = async () => {
    try {
        await fs.access("./data/user-courses.json");
    } catch {
        continueCourses = { courses: [] };
    }

    if (!continueCourses) {
        continueCourses = JSON.parse(await fs.readFile("./data/user-courses.json", "utf8"));
        console.log(continueCourses);
    }
    // Return after finishing
    return continueCourses;
};

getCurrentCourses().then((result)=>{
  console.log(result);
}).catch(err=>{
  console.error('error found while running', error)
});