Axios 请求未返回承诺/未捕获的 TypeError:无法读取未定义的属性(读取“then”)
2023-01-07
302
我有一个使用这行代码从 axios 创建的 api 对象。
const api = axios.create({ baseURL: 'http://localhost:3006' });
然后我使用这行代码导出此调用...
export const editPost = (id, post) => {
api(`/posts/${id}`, { method: 'put', data: post });
};
但是,在我使用该调用的文件中,当我尝试在其上使用 .then 方法时,我收到一条错误消息
index.js:25 Uncaught TypeError: Cannot read properties of undefined (reading 'then')
这是导出的用法
const editThisPost = (authorName, category, blogText) => {
editPost(id, { authorName, category, blogText }).then(res => {
setPost(res);
setEditing(false);
});
};
做了一些研究,这意味着我的导出没有返回承诺。有人知道如何解决这个问题吗?
1个回答
您的
editPost
方法未返回 Promise 来调用
.then
。
您应该更新它以返回承诺:
export const editPost = (id, post) => {
return api(`/posts/${id}`, { method: 'put', data: post });
};
mpu
2023-01-07