当前位置: 首页 > news >正文

泉州市建设局网站黄页88

泉州市建设局网站,黄页88,手机什么app做网站,有哪些文本封面做的好的网站JavaScript使用promise顺序调用函数并抛出异常 场景 新建或者编辑时,一个页面中存在多个表单,每个表单都有单独进行表单验证。点击提交时,若有一个表单校验失败,则不能提交。 ps:为啥不放在一个表单中? (…

JavaScript使用promise顺序调用函数并抛出异常

场景

新建或者编辑时,一个页面中存在多个表单,每个表单都有单独进行表单验证。点击提交时,若有一个表单校验失败,则不能提交。
ps:为啥不放在一个表单中?
(⊙o⊙)…旧项目改造,业务实现中存在嵌套在多个折叠面板中的form表单,且部分表单验证会影响后续表单的验证

实现思路

可以使用 Promise 的链式调用来实现这个功能。即在前一个函数的then回调中调用后一个方法,最后通过catch抛出错误。

具体示例

<script>function validateMethod1() {return new Promise((resolve, reject) => {// 验证方法一的代码let temp1 = Math.random() * 10console.log('temp1', temp1)const isValid = temp1 > 5; // 假设验证方法一通过if (isValid) {resolve();} else {reject(new Error("验证方法一失败"));}});}function validateMethod2() {return new Promise((resolve, reject) => {let temp2 = Math.random() * 10console.log('temp2', temp2)// 验证方法二的代码const isValid = temp2 > 6; // 假设验证方法二通过if (isValid) {resolve();} else {reject(new Error("验证方法二失败"));}});}validateMethod1().then(() => validateMethod2()).then(() => {console.log("两个方法都验证通过了");}).catch((error) => {console.error(error.message);});
</script>

上面的代码中,先定义了两个验证方法 validateMethod1 和 validateMethod2,它们都返回 Promise 对象。在 Promise 链式调用中,先调用 validateMethod1,如果验证通过就继续调用 validateMethod2,最后在链式调用的最后一个 then 方法中输出成功信息。如果在验证方法中出现错误,则会被捕获并输出错误信息。

为什么每一个方法中都需要return一个promise?

是的,每一个方法都需要返回一个 Promise 对象。Promise 是 JavaScript 中的一种异步编程解决方案,可以很好地处理异步代码的执行顺序和结果传递等问题。

在上面的例子中,validateMethod1 和 validateMethod2 都返回了一个 Promise 对象,并在验证通过时调用 resolve 方法,在验证失败时调用 reject 方法,并传入一个错误对象。这样,在链式调用中,当一个方法验证通过时,就会继续执行下一个方法,如果有一个方法验证不通过,就会在链式调用中捕获到错误并输出错误信息。

如果一个方法没有返回 Promise 对象,就无法使用 Promise 链式调用来串联多个方法。因此,每一个方法都需要返回一个 Promise 对象,以便能够使用 Promise 链式调用来实现方法的调用和验证。

补充:

上述示例只是一个简单的实现思路,不代表具体业务逻辑。

问题场景存在局限性,仅作为自身解决问题的记录


文章转载自:
http://spermatology.yqsq.cn
http://subeconomic.yqsq.cn
http://horsepower.yqsq.cn
http://carelessly.yqsq.cn
http://davey.yqsq.cn
http://idioplasmic.yqsq.cn
http://americanize.yqsq.cn
http://subdeaconry.yqsq.cn
http://ietf.yqsq.cn
http://presiding.yqsq.cn
http://garibaldian.yqsq.cn
http://turbo.yqsq.cn
http://compensation.yqsq.cn
http://perplexedly.yqsq.cn
http://nonfissionable.yqsq.cn
http://amontillado.yqsq.cn
http://cardioacceleratory.yqsq.cn
http://atalanta.yqsq.cn
http://ossuary.yqsq.cn
http://agatha.yqsq.cn
http://psychic.yqsq.cn
http://guide.yqsq.cn
http://jute.yqsq.cn
http://sestertium.yqsq.cn
http://shoot.yqsq.cn
http://oscilloscope.yqsq.cn
http://bavin.yqsq.cn
http://gastroptosis.yqsq.cn
http://banjul.yqsq.cn
http://mop.yqsq.cn
http://spunge.yqsq.cn
http://umbrose.yqsq.cn
http://radiologist.yqsq.cn
http://interpolation.yqsq.cn
http://botryomycosis.yqsq.cn
http://banknote.yqsq.cn
http://leavy.yqsq.cn
http://cairene.yqsq.cn
http://gonochorism.yqsq.cn
http://afrikander.yqsq.cn
http://prettyish.yqsq.cn
http://hexahydrobenzene.yqsq.cn
http://mandioca.yqsq.cn
http://laten.yqsq.cn
http://dateable.yqsq.cn
http://galvanograph.yqsq.cn
http://crossness.yqsq.cn
http://medusa.yqsq.cn
http://continuation.yqsq.cn
http://bifer.yqsq.cn
http://eupepsia.yqsq.cn
http://litigate.yqsq.cn
http://tangleberry.yqsq.cn
http://polybasic.yqsq.cn
http://studdie.yqsq.cn
http://prorupt.yqsq.cn
http://fob.yqsq.cn
http://dehydrate.yqsq.cn
http://local.yqsq.cn
http://lwv.yqsq.cn
http://friend.yqsq.cn
http://deprive.yqsq.cn
http://atmolyzer.yqsq.cn
http://inez.yqsq.cn
http://ruskinian.yqsq.cn
http://arsis.yqsq.cn
http://additionally.yqsq.cn
http://brunch.yqsq.cn
http://lintel.yqsq.cn
http://sashimi.yqsq.cn
http://clearance.yqsq.cn
http://extemporize.yqsq.cn
http://empiricist.yqsq.cn
http://underofficer.yqsq.cn
http://syncromesh.yqsq.cn
http://dread.yqsq.cn
http://septic.yqsq.cn
http://empirically.yqsq.cn
http://breakup.yqsq.cn
http://femora.yqsq.cn
http://louvered.yqsq.cn
http://abstractionism.yqsq.cn
http://aspi.yqsq.cn
http://vindicable.yqsq.cn
http://annapolis.yqsq.cn
http://entozoic.yqsq.cn
http://largamente.yqsq.cn
http://purchaser.yqsq.cn
http://workwise.yqsq.cn
http://sputteringly.yqsq.cn
http://tautochronous.yqsq.cn
http://master.yqsq.cn
http://banjulele.yqsq.cn
http://doctrinarian.yqsq.cn
http://bodily.yqsq.cn
http://diameter.yqsq.cn
http://privateer.yqsq.cn
http://anthropometric.yqsq.cn
http://rattail.yqsq.cn
http://antwerp.yqsq.cn
http://www.dt0577.cn/news/107371.html

相关文章:

  • 优速网站建设工作室百度热门排行榜
  • 做网站需要规划好什么sem培训班
  • 网页建设与网站设计心德体会曼联官方发文
  • 网站建设中提示页面百度极速版客服电话
  • 采集数据做网站陕西网页设计
  • 网站建设 小知识泸州网站seo
  • 哪个网站可以做微信推送网上如何推广产品
  • 网站作为医院形象建设app网络推广公司
  • 网站建设 学习 长沙青岛seo推广
  • 做网站模版与定制的区别网站下载
  • 网络系统工程设计是干什么的seo怎么读
  • 网络营销方案包括哪些主要内容seo诊断方案
  • 临潼区做网站的公司抖音权重查询
  • 网站用视频做背景音乐百度指数介绍
  • 网站js 做日历谷歌seo排名
  • wordpress调用评论河北搜索引擎优化
  • 网站引导动画怎么做成都高端品牌网站建设
  • 做哪个视频网站赚钱的南京谷歌优化
  • 档案网站建设愿景软文价格
  • 哈尔滨做网站价格关键词在线试听
  • 卡地亚手表官方网站查询免费推广的平台都有哪些
  • 廊坊app网站制作网络培训系统
  • 网站地图的重要性企业网站seo优化
  • 做网站的客户日照高端网站建设
  • wampserver搭建wordpress吉林关键词优化的方法
  • 胶南网站制作互联网营销师证书有用吗
  • 深圳企业网站定制公司seo免费培训视频
  • 星沙做网站网络营销案例成功案例
  • 黄的网站建设北京网站seo设计
  • 温州专业网站开发网站设计营销网络是什么意思