"I'm Captain Jack Sparrow"
加勒比海盜5上映,為了表示對杰克船長的喜愛,昨天閃現(xiàn)了幾次模仿船長的走路姿勢(哈哈哈,簡直妖嬈)。
為了周天能去看電影,要趕緊做完手上的活兒,比如總結(jié)Promise的方法。
2 Promise基本方法簡介
Promise提供了哪些方法了?大招就是放圖在控制臺輸出Promise。
從圖中結(jié)構(gòu)看,Promise構(gòu)造函數(shù)上實現(xiàn)了all,race,reject,resolve。Promise構(gòu)造函數(shù)的原型上實現(xiàn)了then,catch的方法。在構(gòu)造函數(shù)原型上實現(xiàn)then,catch的方法是為了讓Promise構(gòu)造函數(shù)創(chuàng)建的 實例 共享then,catch方法。(此處提一下,實例和構(gòu)造函數(shù)原型之間存在連接,并不是與構(gòu)造函數(shù)存在連接。對構(gòu)造函數(shù)原型和構(gòu)造函數(shù),實例之間的關(guān)系不理解可以看看《javascript高級程序設(shè)計》第六章)。 在Promise構(gòu)造函數(shù)上實現(xiàn)的all,race,reject,resolve,不能在對象的實例中訪問,屬于Promise構(gòu)造函數(shù)自己,這樣做保證了對象的命名空間整潔。所以這幾個函數(shù)的調(diào)用方式是Promise.all(),Promise.race(),Promise.reject(),Promise.resolve()。