不确定如何访问日期和价格值,否则在脚本中
fetch("fileName")
.then(response => response.json())
.then(data => {
var date = data.JSONdata[data.JSONdata.length - 1].date
var prices = data.JSONdata[data.JSONdata.length - 1].prices
})
您可以简单地重写代码以使用async/await
:
const response = await fetch("fileName");
const data = await response.json();
const date = data.JSONdata[data.JSONdata.length - 1].date;
const prices = data.JSONdata[data.JSONdata.length - 1].prices;
EDIT:要使用此异步代码,您必须将使用此代码的函数定义为async:
async function yourFunction() {
// your async code from above
}
// await async function where it's called
const functionResult = await yourFunction();
您必须使调用堆栈中的每个函数异步到不再关心响应的级别。因此,调用";yourFunction(("也必须是异步的。等等。
您可以使用await来获得Promise结果。请参阅MDN文档
在给定的示例中,日期和价格是硬编码的,将通过real-scenario 中的API调用获取
const date = Date.now();
const prices = [1000, 2000];
const resolvedProm = Promise.resolve({date, prices});
let thenProm = resolvedProm.then(({date, prices}) => {
return {date, prices};
});
let res = await thenProm;
console.log(res);
// {date: 1641136463085, prices: Array(2)}