为什么我的fs错误地返回Node.js中的一个空对象?

问题描述 投票:1回答:1

我目前正试图使用 fs 在Node v12.16.2中。我目前的功能设置是这样的。

const fs = require('fs');
var JSONData;
const read = function(path){
    fs.readFile(path, 'utf8', (data, err) => {
        if(err){
            console.log(err);
            console.log('there was an error');
        }
        JSONData = data;
    })
}
read('./path/to/file.json');

在控制台中,我只得到

{}
there was an error

我也试过 console.log摄取 err.message, err.valueOf,并使用 throw err其中没有一个给我更多的错误数据。如果有人能帮助我发现我的问题或者已经知道了,我会很感激。

javascript node.js json error-handling fs
1个回答
2
投票

Node.js中的回调接收错误作为第一个参数。

const fs = require('fs');
var JSONData;
function read (path) {
    fs.readFile(path, 'utf8', (err, data) => { // <-- Look here
        if (err) {
            console.log(err);
            console.log('there was an error');
        }
        JSONData = data;
    })
}
read('./path/to/file.json');
© www.soinside.com 2019 - 2024. All rights reserved.