async等待异常捕获,但仍显示404错误,显示红色标记

时间:2017-09-15 15:13:39

标签: javascript async-await

下面的代码捕获错误,但是在控制台中显示红色标记仍然是404错误,是它的工作方式还是只显示catch块的日志信息?

还是处理异常的其他更好方法?

async function showList(req, err) {
    try {
        const response = await fetch('http://jsonplaceholder.typicode.com/poosts') // 'posts' to get work the url
        if (!response.ok) {
            throw new Error(response.statusText);
        }
        const data = await response.json()
        for (let i = 0; i < data.length; i++) {
            const divInject = `
          <div>
              <h3>${data[i].title}</h3>
              <div>${data[i].body}</div>
          </div>
  `;
            const divInside = document.getElementById('append')
            divInside.insertAdjacentHTML('afterbegin', divInject)
        }
    }
    catch (err) {
        console.log(err);
    }
};

showList();

1 个答案:

答案 0 :(得分:2)

  

但仍有404错误,控制台中显示红色标记

是的,这就是它的工作原理。无论您是否处理404,它都会在“网络”选项卡中以及(在某些浏览器上)控制台(与您自己的console.log分开)进行报告。您成功捕获了异常。如果您不是,那么会在控制台中发出未处理承诺拒绝的警告。