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

异步函数内的映射数组导致错误

异步函数内的映射数组导致错误

温温酱 2021-08-20 17:52:42
您好,我的异步函数 (router.post()) 中有对象验证数组,我需要在验证之前对其进行映射,这就是我的方法ingredients.map(({ingredient,quantity})=>{   if(ingredient.trim().length < 1 || quantity.length < 1){     return res.status(409).send({       message: ''     })   }})在此之后,我将 200 状态代码发送到客户端(ReactJS),但它会导致错误发送后无法设置标头我不知道这有什么问题。在这个代码块之前,我只有 if 语句来验证其他输入,当我注释这个代码块时,if 语句起作用了。那么这有什么问题呢?PS:我在发送服务器之前将数组字符串化,然后当然解析编辑:当一切正常且成分或数量不为空时,它不会导致错误
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

出现此问题是因为res.send被多次调用。


如果您打算409在至少一种成分无效的情况下使用状态代码进行响应,您可以检查是否至少存在一种无效项目,如果存在则使用状态代码进行响应409:


const hasInvalidIngredient = ingredients.some(

  ({ingredient,quantity}) => ingredient.trim().length == 0 || quantity.length == 0

)


if (hasInvalidIngredient) {

  return res.status(409).send({

    message: ''

  })

}


查看完整回答
反对 回复 2021-08-20
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

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