如何在JavaScript中避免代码重复?解决DoTheNextThing()重复调用问题
优化方案
这里有几种简洁的方式可以避免重复调用DoTheNextThing():
方案一:封装回调函数复用
把DoTheNextThing()封装成单独的回调函数,在两个分支里统一调用:
const handleNext = () => DoTheNextThing(); if (dosomething) { DoSomething(handleNext); } else { handleNext(); }
这种方式逻辑清晰,后续如果需要修改DoTheNextThing()的执行逻辑,只需改动handleNext一处即可。
方案二:三元表达式简化写法
如果逻辑简单,用三元表达式可以让代码更紧凑:
const handleNext = () => DoTheNextThing(); dosomething ? DoSomething(handleNext) : handleNext();
方案三:统一函数调用逻辑
通过创建一个适配函数,让两种分支的调用方式完全一致:
const execute = dosomething ? DoSomething : (cb) => cb(); execute(() => DoTheNextThing());
当dosomething为假时,用一个直接执行回调的函数替代DoSomething,这样不管条件如何,都只需调用execute并传入回调,彻底消除分支重复。
内容的提问来源于stack exchange,提问作者user2451333
相关产品推荐
相关产品推荐

