API 即使成功后仍保持 运行

API keeps running even after success

我有一个 API 使用 sequelize 编辑记录:

router.put("/editTenant/:id", async(req,res) =>{
const id = req.params.id
const tenant = await Tenants.findByPk(id);
Tenants.update({
    tenantName: req.body.tenantName,
    industry: req.body.industry
  }, {
    where: {
     id: id
    }
   }
  );
})

当我使用 Insomnia 对其进行测试时,请求保持 运行 但如果我转到数据库,我会看到更新有效。为什么请求成功后一直保持?

您需要使用 res.send() 结束请求:

router.put("/editTenant/:id", async(req,res) =>{
  const id = req.params.id;
  const tenant = await Tenants.findByPk(id);
  Tenants.update({
    tenantName: req.body.tenantName,
    industry: req.body.industry
  }, {
    where: {
     id: id
    }
   }
  );

  res.send();
})

您还应该捕获所有异步错误并使用 next(err); 将它们发送到错误中间件查看快速错误指南:https://expressjs.com/en/guide/error-handling.html

这里还有快速路由指南:https://expressjs.com/en/guide/routing.html