他們是一種更簡單的方法來模擬此邏輯?優化嵌套if語句
如果以下任一方法返回False,那麼每個調用的方法都返回True或False,然後調用this.displayError()方法。
我想不出更簡單的模擬這個邏輯,有什麼想法?
main: function(){
if(this.isWRNotProcessed()){
if(this.retriveWRMetaData()){
if(this.retrieveWRLines()){
this.getDistinctOrders();
if(this.createNewPOs()){
this.approvePOs();
} else{this.displayError();}
} else{this.displayError();}
} else{this.displayError();}
} else{this.displayError();}
}
編輯:添加一個附加else語句調用this.createNewPOs() 對此深感抱歉,並感謝所有他們都是有幫助的響應時!
也可以Try Catch語句工作在這個邏輯而不是IFs?
唯一的問題是,如果'this.createNewPOs()'的結果是falsey,你仍然會顯示錯誤。我想你可以將'return'移到嵌套的'if()'之外。 – user113716 2011-02-24 19:03:17
@patrickdw:很好的調用,沒有捕捉到嵌套的關係。是的,我可以移動回報,只是在第一回閤中錯過了。 – 2011-02-24 19:07:56
+1更新的解決方案。 – user113716 2011-02-24 19:22:53