Javascript 从json读取文件返回值
因此,我正在尝试将这个json数据从这个函数中获取到另一个函数中的变量,但我不确定具体如何实现返回方法不起作用我被建议使用承诺或异步方式,但我不太确定如何从函数中返回承诺,并在读取json数据后解析它Javascript 从json读取文件返回值,javascript,json,Javascript,Json,因此,我正在尝试将这个json数据从这个函数中获取到另一个函数中的变量,但我不确定具体如何实现返回方法不起作用我被建议使用承诺或异步方式,但我不太确定如何从函数中返回承诺,并在读取json数据后解析它 function cycle_Profiles(){ 常数fs=要求(“fs”); 返回新承诺((解决、拒绝)=>{ fs.readFile(“src/data/profileInfo.json”,函数(err,data\u数组){ 如果(错误){ //如果出现错误,请拒绝 拒绝(错误); } v
function cycle_Profiles(){
常数fs=要求(“fs”);
返回新承诺((解决、拒绝)=>{
fs.readFile(“src/data/profileInfo.json”,函数(err,data\u数组){
如果(错误){
//如果出现错误,请拒绝
拒绝(错误);
}
var json=json.parse(数据数组);
//一旦你得到数据,就解决问题
解析(json);
});
});
}
调用函数时使用async/await
或then/catch
cycle_Profiles()
.then(json=>console.log(json))
.catch(err=>alert(err));//警惕这里
profile\u data\u array=JSON.parse(profile\u数据)
这是我最后使用的修复,但上面的注释也很好您可以直接导入json文件,而无需使用
fs.readFile
。const data=require('./data/profileInfo.json');调用时应该是cycle_Profiles()。然后(json=>console.log(json)).catch(err=>alert(err));修正了,谢谢你的指点!
function cycle_Profiles(){
const fs = require('fs')
fs.readFile('src/data/profileInfo.json',function(err,data_array){
if(err){
alert(err);
}
var json = JSON.parse(data_array);
//returns the JSON array of profiles
return json;
});
}
const profile_data = fs.readFileSync(__dirname + '/data/profileInfo.json',(err,data)=>{});