Axios请求未返回承诺/未捕获的TypeError:无法读取未定义的属性(读取"then")

l2osamch  于 2023-01-09  发布在  iOS
关注(0)|答案(1)|浏览(195)

我有一个API对象,是用这行代码从axios创建的。

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);
    });
  };

做一些调查,这意味着我的出口没有返回承诺。有人知道如何解决这个问题吗?

bbuxkriu

bbuxkriu1#

您的editPost方法没有返回调用.then的Promise。
您应该更新它以返回承诺:

export const editPost = (id, post) => {
    return api(`/posts/${id}`, { method: 'put', data: post });
};

相关问题