首页 > 解决方案 > Javascript 不等待读取 json 文件

问题描述

我想读取一个 json 文件,但是当我使用 await 时,它似乎没有等待文件进入 var

我有这个代码:

var webshopItems;
window.addEventListener('load', Initieer);

function Initieer() {
      ReadJSON();
      console.log(webshopItems[0].Name)
};

const ReadJSON = () => {
  let path = 'js/webshopItems.json';
  (async () => {
        webshopItems = await(GetJSON(path));
  })()
}

const GetJSON = async (file) => {
    let response = await fetch(file);
    let data = await response.json();
    return data;
}

因此,当我尝试获取名称时,当我尝试此代码时,webshopItems 未定义。该名称是正确的,因为如果我在某个时候进行调试,它将不会及时加载。

标签: javascript

解决方案


它不起作用,因为您没有等待响应。

var webshopItems;
window.addEventListener('load', Initieer);

async function Initieer() {
      await ReadJSON();
      console.log(webshopItems[0].Name)
};

const ReadJSON = async () => {
  let path = 'js/webshopItems.json';
  webshopItems = await(GetJSON(path));
}

const GetJSON = async (file) => {
    let response = await fetch(file);
    let data = await response.json();
    return data;
}

推荐阅读