Je suis en train d'attraper un tas d'erreurs liées à la même politique d'origine lorsque vous utilisez l'Fetch API, mais sans aucun succès:Attraper « Impossible de charger la ressource » lorsque vous utilisez l'Fetch 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)
}
Les erreurs Je veux attraper apparaître que dans la console Web:
Voir un exemple de code ici: https://github.com/nyg/fetch-error-test
Comment puis-je détecter ces erreurs pour fournir un message à l'écran?
EDIT: Le bloc catch de fetch est réellement exécuté.
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;
}
On dirait que vous avez raison :). Merci pour le lien, j'avais échoué à trouver cette discussion ... Cependant, même si je ne peux pas attraper ces erreurs, le bloc catch de fetch est en fait exécuté (j'ai probablement eu un problème avec mon code). Le message d'erreur est simplement 'Tapez error' sur Safari,' Failed to fetch' sur Chrome et 'NetworkError lors de la tentative de récupération de ressources .' sur Firefox. J'ai modifié ma réponse avec un extrait de code. – nyg