从业前端好多年写过无数表单提交,猛然发现表单提交时到底要不要try catch呢?
需求如下:
- 一个表单提交前要进行所有字段的必填校验,如果存在必填字段未填写,则跳转到第一个触发验证的位置
- 如果验证通过后,触发更新或插入,后端验证后可能抛异常
我相信这只是一个再常见不过的需求了 直接说问题 如果把表单的validate 和 一个axios 放在同一个try catch中 这两个promise 无论哪个error 都会走进catch中 log出error信息后会发现 error格式不同 啰里啰唆进行一串判断,如果写两个try catch 又显得代码很冗余,直到今天发现await-to.js
const [error] = await to(validate()); 直接拿到表单error
菜鸟成长ing