3
我試圖使用提取API,但是當趕上了一堆相關的同源策略錯誤時沒有任何成功:捉「無法加載資源」使用提取API
window.onerror = (message, file, line, col, error) => console.log(error)
window.addEventListener('error', (error) => console.log(error))
try {
fetch('https://www.bitstamp.net/api/ticker/').catch(e => {
console.log('Caugth error:')
console.log(e)
console.log(JSON.stringify(e))
})
}
catch (e) {
console.log('try-catch')
console.log(e)
}
的錯誤我要趕只能出現在Web控制檯:
見代碼示例在這裏:https://github.com/nyg/fetch-error-test
如何捕獲這些錯誤以提供屏幕上的消息?
編輯:fetch的catch塊實際上被執行。
fetch('https://www.bitstamp.net/api/ticker/')
.then(response => response.text())
.then(pre)
.catch(e => {
pre(`Caugth error: ${e.message}`)
})
function pre(text) {
var pre = document.createElement('pre')
document.body.insertAdjacentElement('afterbegin', pre)
pre.insertAdjacentText('beforeend', text)
}
pre {
border: 1px solid black;
margin: 20px;
padding: 20px;
}
看起來你是對的:)。感謝您的鏈接,我沒有找到這個討論......但是,即使我無法捕捉這些錯誤,抓取塊的catch塊實際上已經執行(我可能有一些問題)。錯誤消息只是在Safari上輸入錯誤,在Chrome上嘗試獲取資源時在Chrome上失敗並且NetworkError錯誤。我使用代碼片段編輯了我的答案。 – nyg