嵌套判断太多,应该怎么处理
发布于 7 年前 作者 quanpf2481 4820 次浏览 来自 问答

node js 里面嵌套太多了,看着就烦,应该怎么样来改写呢??比如: if(){ if() { if() { if() { if() { … } } } } } 如果进行条件判断,怎么样来改写,看着舒服一点呢????

10 回复
if (bool) {
  ...
}

改成类似

if (!bool) {
  ...
  return;
}

@steambap 能不能具体一点???谢谢

错误优先回调。。如果错误直接返回。。。

来自酷炫的 CNodeMD

下面这个链接,能完美的回答你的问题 http://suo.im/1F0kM2

  1. 错误优先返回。
  2. 每个分支的代码,抽离为一个函数
  3. 将各种条件放入一个map里面,条件为key,value为函数

错误优先返回 不还是这么多判断吗

@dengnan123 错误优先返回虽然一样要很多判断,但不需要嵌套

@qinyang1980 再补充2个

  • switch
  • 策略模式
	if (bool_1) {
		if (bool_2) {
			if (bool_3) {
				...
			}
		}
	}
	//可以改写成如下代码
	if (!bool_1) {
		return false;
	}
	if (!bool_2) {
		return false;
	}
	if (!bool_3) {
		return false;
	}
	//...

@quanpf2481 这样和你的效果一样

条件语句较统一时,使用switch语句代替if 条件语句不统一时,优先书写条件满足直接return的语句

回到顶部