近期发现部分机器 react-native一直loading问题,分析日志没有追踪到问题根源。
ReactNativeJS: Possible Unhandled Promise Rejection (id: 0):
Network request failed
经过一番折腾才查到是 fetch没有回调
A fetch() promise will reject with a TypeError when a network error is encountered
, although this usually means permission issues or similar — a 404 does not
constitute a network error, for example. An accurate check for a successful
fetch() would include checking that the promise resolved, then checking that the
Response.ok property has a value of true. The code would look something like this:
fetch('flowers.jpg')
.then(function(response) {
if(response.ok) {
return response.blob();
}
throw new Error('Network response was not ok.');
})
.then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
})
.catch(function(error) {
console.log('There has been a problem with your fetch operation: ' + error.message);
});
按照文章意思增加catch异常处理逻辑即可。