ES6 之 Promise的基本用法

        Promise最根本的作用就是解決異步操作,將異步操作同步化。換句話說,就是同步的寫法,但內部還是異步的執行,異步的效率和性能。其實它就是一個語法糖,只不過是看起來是同步的操作。

接下來,舉一個簡單的例子,用同步的方法去實現異步操作,爲了方便就用一個setTimeout函數模擬異步:

      上示例代碼,的執行結果是先彈出DONE,5秒後,彈出success。

       另外,Promise還有幾個比較長見的屬性,如:all和race。all是與的關係,即all中所有的Promise對象都成功;race是或的關係,即race中所有的Promise對象只要有一個成功即可。需要注意的是,Jquery中的ajax實際上也是Promise的對象。

       Promise雖然好,但是也有不足的地方,比如在多個異步操作中,如果需要是帶業務邏輯的情況下,需滿足某一條件時纔可以繼續下一個異步執行。這種情況Promise做不到。爲了解決這一困難,Generator和yield配合使用可以實現。即可以通過yield讓函數內的程序暫停,然後通過next來控制是否繼續。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章