×react TypeError:无法读取未定义的属性'then'

时间:2018-03-16 14:34:21

标签: reactjs

我想我只需要另外一双眼睛,因为我无法得到我在这里所缺少的东西。 在服务器中,代码是:

function getByCategory (token, category) {   return new Promise((res)
  => {
let posts = getData(token)
let keys = Object.keys(posts)
let filtered_keys = keys.filter(key => posts[key].category === category && 
!posts[key].deleted)
res(filtered_keys.map(key => posts[key]))   }) }

在postAPI中,代码为:

export const getByCategory=(category)=>{
fetch(`${api}/${category}/posts`,{headers})
    .then(res=>res.json())
    .then(data=>data)
};

in classesiries:

  PostsAPI.getByCategory(category).then((posts) =>{
            posts.map((post)=>{
                return addPosts(post)
            });
        });

我的代码是在https://github.com/tulipjie/redux-readable推送的 我希望有人可以帮助我。非常感谢你。

1 个答案:

答案 0 :(得分:1)

你的方法不会返回任何东西。 尝试将“return”放在 fetch 前面,如下所示:

export const getByCategory=(category)=>{
    return fetch(`${api}/${category}/posts`,{headers})
        .then(res=>res.json())
        .then(data=>data)
};

或者像这样删除大括号:

export const getByCategory=(category)=>
    fetch(`${api}/${category}/posts`,{headers})
    .then(res=>res.json())
    .then(data=>data);