一、迭代器模式在Redux源碼中的使用
二、迭代器模式在Koa2源碼中的使用
場景一、二都是利用迭代器模式,依次調用中間件,從而實現各個框架中的洋蔥模型。
三、 迭代器模式在Webpack源碼中的使用
簡單解釋下,實參modulesData是從入口文件出發,通過遞歸分析得到的,所有依賴文件的集合,其格式如下:
四、迭代器模式在es6中是使用
es6中之所以可以實現數組的擴展運算符以及for..of循環,是因為其內部定義了一個[Symbol.iterator]屬性,這個屬性的value是一個函數(迭代函數),其大致實現如下:
五、其他
這里只是舉幾個簡單的例子,其實迭代器模式在前端領域還有非常廣泛的應用,比如vue-router中各個導航守衛的依次調用、async&await函數的實現等。