gra*_*hay 10 javascript fetch-api
如果请求失败,新的js fetch API将失败(400):
fetch(uri).catch(function(err) {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
发生这种情况时,真的没有办法获得响应机构吗?例如,检查错误代码.
编辑:我创建了一个js小提琴:https://jsfiddle.net/4x4xLwqo/,它调用这个mockbin端点:http://mockbin.org/bin/d87acbb0-526e-4d66-aea4-b827d9c35031/view
编辑2:更新jsfiddle以使用更好的端点:https://jsfiddle.net/4x4xLwqo/2/
Bar*_*icz 10
fetchcatch如果遇到HTTP错误,则不会进入.你可以定期处理then.
来自MDN:
一个
fetch()承诺将拒绝TypeError在遇到网络故障时,尽管这通常意味着权限问题或类似- 404不构成一个网络错误,例如.准确检查成功fetch()将包括检查承诺是否已解决,然后检查该Response.ok属性的值是否为true.
以及来自MDN的附带示例:
fetch('flowers.jpg').then(function(response) {
if(response.ok) {
response.blob().then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
} else {
console.log('Network response was not ok.');
}
})
.catch(function(error) {
console.log('There has been a problem with your fetch operation: ' + error.message);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4282 次 |
| 最近记录: |