【问题标题】:UnhandledPromiseRejectionWarning: TypeError: Assignment to constant variable.at deleteTodo [duplicate]UnhandledPromiseRejectionWarning:TypeError:赋值给常量variable.at deleteTodo [重复]
【发布时间】:2020-12-02 04:41:03
【问题描述】:

我正在尝试做一个基本的删除 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",
    enable: false,
  },
  {
    id: 03,
    todo: "thats my third test to do",
    enable: false,
  },
];

postman 中的 DELETE 请求:

{
    "id": 3
}

【问题讨论】:

  • "赋值给常量变量"–DUMMY_PLACES是一个常量变量。

标签: javascript node.js postman backend


【解决方案1】:

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

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

如果你想做这样的操作,使用let而不是const,比如:

let DUMMY_PLACES = ...

【讨论】:

  • 兄弟你说得对,我有时很笨
【解决方案2】:

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

app.delete('/', async (req,res) => {//你的删除逻辑})

【讨论】:

  • 这不是问题。问题是 OP 试图改变一个常量变量的值。
  • 对,是我的错
猜你喜欢
  • 2020-07-31
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-01
  • 2013-09-13
  • 2021-12-04
相关资源
最近更新 更多