提前終止forEach技巧,使用try catch

2022-04-10 03:57:14 字數 774 閱讀 4807

學習react優化效能的時候,在render之前,生命週期shouldcomponentupdate裡判斷前後兩次資料是否一致,使用了foreach巢狀if語句,如果滿足條件想直接break跳出foreach迴圈,但事實並沒有想的那麼簡單,**直接丟擲異常。查閱資料原來:

接著想了個乙個可以實現的辦法,具體**如下:

1

//生命週期 只有當前後資料不一致時才渲染

2shouldcomponentupdate(nextprops,nextstate)

14})

15 }catch

(err)

18 }else

21return isrender //

true or false

22 }

配合使用try catch,滿足條件時throw乙個錯誤來跳出迴圈。

但實際上這裡使用for迴圈配合break足矣,如下:

1

//生命週期 只有當前後資料不一致時才渲染

2shouldcomponentupdate(nextprops,nextstate)13}

14 }else

17return isrender //

true or false        

18 }

foreach 使用技巧

有段時間沒有寫部落格了,主要是實驗室裡事情太多。今天被乙個小問題糾結的了半天,不過最終還是解決了。php裡面foreach大家都知道,有兩種形式。即 第一種格式遍歷給定的 array expression 陣列。每次迴圈中,當前單元的值被賦給 value 並且陣列內部的指標向前移一步 因此下一次迴圈...

python 多程序執行時程序提前終止?

寫了一段 發現程序沒跑完就提前終止了?原因可能是程序執行一半出錯了!注意多執行緒情況下不報錯!from multiprocessing import process import os from multiprocessing import pool def run proc i a i 1 pri...

Js中forEach跳出本次迴圈和終止迴圈

可使用return語句跳出本次迴圈,執行下一次迴圈 var arr 1 2,3 4,5 6 arr.foreach item console.log item 將輸出 1 2 4 5 6,3不會輸出 foreach無法通過正常流程 如break 終止迴圈,但可通過丟擲異常的方式實現終止迴圈 var ...