为了账号安全,请及时绑定邮箱和手机立即绑定

axios delete .catch 命令在 void 中不存在

axios delete .catch 命令在 void 中不存在

catspeake 2021-11-25 16:50:13
我一直在尝试使用 axios .delete 请求从列表中删除卡片。删除函数的代码如下:deleteProduct(id: any) {    const { adminhelpcard } = this.state;    const apiVideoUrl = `http://localhost:3000/videos/${id}`;    //const apiManualUrl = `http://localhost:3000/manuals/${id}`;    const options = {      method: "DELETE"    };    axios      .delete(apiVideoUrl, {})      .then((response: any) => {        this.setState({          adminhelpcard: adminhelpcard.filter((adminhelpcard: SingleAdminHelpCard) => adminhelpcard.id !== id)        }).catch(function(error) {          console.log(error);        });我从 .catch 和函数(错误)中收到两个不同的错误。.catch 的错误是:Property 'catch' does not exist on type 'void'.ts(2339)来自 (error) 的错误是:Parameter 'error' implicitly has an 'any' type.ts(7006)有什么我显然错过了吗?提前感谢您的时间和帮助。
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

您正在尝试catch你的setState电话,而不是删除请求本身:


axios

      .delete(apiVideoUrl, {})


      .then((response: any) => {

        this.setState({

          adminhelpcard: adminhelpcard.filter((adminhelpcard: SingleAdminHelpCard) => adminhelpcard.id !== id)

        })

       }).catch(function(error) {

          console.log(error);

        });


查看完整回答
反对 回复 2021-11-25
?
白衣非少年

TA贡献1155条经验 获得超0个赞

您将 .catch() 附加到 setState() 而不是 .then()


改变:


axios

      .delete(apiVideoUrl, {})


      .then((response: any) => {

        this.setState({

          adminhelpcard: adminhelpcard.filter((adminhelpcard: SingleAdminHelpCard) => adminhelpcard.id !== id)

        }).catch(function(error) {

          console.log(error);

        });

到:


axios


   .delete(apiVideoUrl, {})

   .then((response:any) => {

        this.setState({

            adminhelpcard: adminhelpcard.filter((adminhelpcard: SingleAdminHelpCard) => adminhelpcard.id !== id)

        })

    }).catch(function(error) {

        console.log(error);

    });


查看完整回答
反对 回复 2021-11-25
  • 2 回答
  • 0 关注
  • 598 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信