javascript - 第二个和随后的结果都不起作用
问题描述
只有第一个then
有效。每个后续then
都不起作用。
export const usersFetchData = (url) => {
return (dispatch) => {
dispatch(userIsLoading(true));
axios
.get(url)
.then(res => {
if(!res.ok){
throw Error(res.statusText)
}
dispatch(userIsLoading(false));
console.log(res.data);
return res;
})
.then(res => res.json())
.then(users => {
console.log(users);
dispatch(usersFetchDataSuccess(users))})
.catch(() => dispatch(userHasErrored(true)));
}
}
解决方案
axios
为您将其转换为 JSON,您不必像在fetch
export const usersFetchData = (url) => {
return (dispatch) => {
dispatch(userIsLoading(true));
axios
.get(url)
.then(res => {
if(!res.ok){
throw Error(res.statusText)
}
dispatch(userIsLoading(false));
console.log(res.data);
return res.data; // returning the json respone
})
//.then(res => res.json()) // removed this, you don't need it
.then(users => {
console.log(users);
dispatch(usersFetchDataSuccess(users))
})
.catch(() => dispatch(userHasErrored(true)));
}
}
推荐阅读
- vhdl - VHDL将可变长度的有符号初始化为最大值
- json - JSON MVC 图表未在视图中呈现
- angular - 有没有办法一起使用 ngModel 和 NgFor ?
- android - 如何在 Android Studio 中通过 Glide 在标头中添加授权?
- python - 如何检查 Python 集合中的字符串
- eclipse - 未解决的参考:在 Eclipse 中使用 Kotlin 的 pow
- laravel - 为什么此验证不起作用?
- java - java泛型多态性
- codenameone - 使用 EncodedImage.createFromImage 方法的 EDT 违规
- vb.net - 在gridview上插入行时刷新页面