我需要函数**getJson((**从json中获取并返回数据。
JSON(file.JSON(:
[
{
"01/01/2021":"Confraternização Universal",
"15/02/2021":"Carnaval",
"16/02/2021":"Carnaval",
"02/04/2021":"Paixão de Cristo",
"21/04/2021":"Tiradentes",
"01/05/2021":"Dia do Trabalho",
"03/06/2021":"Corpus Christi",
"07/09/2021":"Independência do Brasil",
"12/10/2021":"Nossa Sr.a Aparecida - Padroeira do Brasil",
"02/11/2021":"Finados",
"15/11/2021":"Proclamação da República",
"25/12/2021":"Natal"
}
]
- 我尝试使用异步函数,但没有成功
代码:
async function getJson() {
const response = await fetch('file.json');
const data = await response.json();
return data;
}
console.log(getJson());
输出:
Promise {<pending>}
- 如果数据存储在变量中,也会很有用,例如在**obj**中。我尝试了下一个代码,但也不起作用
代码:
var obj;
async function getJson() {
const response = await fetch('file.json');
obj = await response.json();
}
console.log(obj);
输出:
undefinded
Async function
总是返回一个Promise
。使用如下所示的.then()
块取回数据:(
getJson().then(data=>console.log(data);
下面的这个函数是async
,它将返回一个promise。当您尝试console.log(getJson())
时,在您的情况下会返回一个已解决的承诺。为了从已解析的promise中获取值,我们需要.then()
块,回调具有数据。
async function getJson() {
const response = await fetch('file.json');
const data = await response.json();
return data;
}
getJson().then(data=>console.log(data));