UnhandledPromiseRejectionWarning:TypeError:分配给常量变量在deleteTodo

问题描述

我试图做一个基本的删除todo方法,但是没有成功。我不知道为什么我会收到此错误希望得到帮助。 错误: (节点:6416)UnhandledPromiseRejectionWarning:TypeError:分配给常数变量。 在deletetodo

代码

const deletetodo = async (req,res,next) => {
  const { id } = req.body;
  DUMMY_PLACES = DUMMY_PLACES.filter((p) => p.id !== id);
  res.status(200).json({ message: "Deleted " });
};

DUMMY_DB

const DUMMY_PLACES = [
  {
    id: 01,todo: "thats my first test to do",enable: false,},{
    id: 02,todo: "thats my second test to do",{
    id: 03,todo: "thats my third test to do",];

邮递员中的DELETE请求:

{
    "id": 3
}

解决方法

const禁止将值重新分配给已定义的变量,您可以这样做:

DUMMY_PLACES = DUMMY_PLACES.filter((p) => p.id !== id);

如果要执行这种操作,请使用let而不是const,例如:

let DUMMY_PLACES = ...
,

我相信您正在为node后端编写这些代码。然后,您应指定处理删除方法的路由,例如:

app.delete('/',异步(req,res)=> {//您的删除逻辑})