如果一个提交表单后调用更新或新建接口要不要写try catch

31 阅读1分钟

从业前端好多年写过无数表单提交,猛然发现表单提交时到底要不要try catch呢?

需求如下:

  1. 一个表单提交前要进行所有字段的必填校验,如果存在必填字段未填写,则跳转到第一个触发验证的位置
  2. 如果验证通过后,触发更新或插入,后端验证后可能抛异常

我相信这只是一个再常见不过的需求了 直接说问题 如果把表单的validate 和 一个axios 放在同一个try catch中 这两个promise 无论哪个error 都会走进catch中 log出error信息后会发现 error格式不同 啰里啰唆进行一串判断,如果写两个try catch 又显得代码很冗余,直到今天发现await-to.js

const [error] = await to(validate()); 直接拿到表单error

菜鸟成长ing