async function db(path){
const res = await fetch('data.json');
const data = await res.json();
return data[path];
}
console.log(db("name"));
我该如何解决Promise {pending} 我正在尝试从代码中的任何地方全局访问数据库json文件,这是正确的方法还是有更好的方法?
答案 0 :(得分:2)
问题是您有一个异步函数返回一个Promise,但是您以非异步方式调用它。您应该做的只是在呼叫前添加一个等待:
async function db(path){
const res = await fetch('data.json');
const data = await res.json();
return data[path];
}
console.log(await db("name"));
答案 1 :(得分:0)
函数的返回仅返回另一个promise。因此,您可以像这样修改功能-
async function db(){
const res = await fetch('data.json');
const data = await res.json();
return data;
}
db().then(data => console.log(data['name']);
注意:您不应从异步函数返回任何内容。您应该在功能内完成所需的操作