在下面的代码中,我试图捕获与无效链接相关的错误 . 但是,我收到以下警告和错误,而不是错误
阻止跨源请求:同源策略不允许在https://aaajsonplaceholder.typicode.com/posts上读取远程资源 . (原因:CORS请求未成功) . 尝试获取资源时出现TypeError:NetworkError . [了解详情]
这是代码
const url = 'https://jsonplaceholder.typicode.com/posts'; // This URL is valid
async function getPostData(){
const response = await fetch(url);
const data = await response.json();
return data;
}
document
.getElementById('btnGET')
.addEventListener('click',
() => {
getPostData()
.then( data => console.log(data))
.catch( () => {throw new Error('Woops! Something went wrong')});
});
根据我的理解,以下是 getPostData
内发生的事情
[1] HTTP GET请求通过Fetch API发布到先前定义的URL;
[2]数据变量用响应初始化,即解析或拒绝;
[3]承诺归还;
如果URL无效,我希望 EventListener
中的代码触发 cache
但不会发生 . 我做错了什么?
1 回答
如果出现问题,
getPostData()
应该throw
错误,然后在click
事件的回调中catch
: