我正在研究在线课程的反应,并且在跟教练一起学习时遇到问题。在使用promise处理从服务器检索数据的错误时,我有以下代码将操作分派到我的商店:
export const fetchPromos = () => (dispatch) => {
dispatch(promosLoading());
return fetch(baseUrl + 'promotions')
.then(response => {
if (response.ok) {
return response;
} else {
var error = new Error('Error ' + response.status + ': ' + response.statusText);
error.response = response;
throw error;
}
},
error => {
var errmess = new Error(error.message);
throw errmess;
})
.then(response => response.json())
.then(promos => dispatch(addPromos(promos)))
.catch(error => dispatch(promosFailed(error.message)));
}
关闭json服务器或有意从服务器请求错误的资源并重新加载应用程序后,在浏览器中而不是我定义的错误中出现了UnHandled Rejection错误。讲师似乎正确看到了错误消息。我想念什么吗?
答案 0 :(得分:0)
这段代码没有错误,我发现了我的问题,因为我拼错了一个prop,导致其在呈现部分中为null,从而绕开了我的条件呈现循环。
if (isLoading) {
return (
<Loading />
);
}
else if (errMess) {
return (
<h4>{errMess}</h4>
);
}
错误提示基本上为Null。 (导致errMess为空)