首页 > 解决方案 > 为什么我的函数总是返回一个未定义的对象?Java 脚本 / 节点 JS

问题描述

我正在使用 discord.js 开发一个不和谐的机器人,但我无法弄清楚为什么我的函数总是返回undefined。我有一个读取 JSON 文件并将其转换为对象的函数,然后应该返回该对象,以便我可以在其他函数中使用它。

function getPlayer(message) {
let filename = message.author.id + '.json';
let path     = './Database/';

if(fs.existsSync(path + filename)) {

    console.log('File Found');

    fs.readFile(path + filename , 'utf-8', (err,content) => {
        if(err) {
            console.log(err)
        } else {
            let player = JSON.parse(content);
            return player;
        }
    })
} else  {
    console.log('File not found')
}}

在这个方法中,我可以毫无问题地访问属性,但是一旦我使用 getPlayer() 方法在另一个方法中获取播放器对象,我总是会收到一个错误,即未定义播放器。

function getELO (message) {
let p = getPlayer(message);
console.log(p.name) }

标签: javascriptnode.jsreturndiscord.jsundefined

解决方案


推荐阅读