課程標(biāo)題 路白-Promis規(guī)范
課程目標(biāo)
- 了解promise a+規(guī)范
- 根據(jù)promise a+規(guī)范手寫(xiě)出自己的一個(gè)promise
- generator践美,async,await的
知識(shí)要點(diǎn)
規(guī)范
自行翻譯的規(guī)范:http://www.reibang.com/writer#/notebooks/26191096/notes/86414819
- 狀態(tài)
a. pending初始狀態(tài)
可以通過(guò)resolve將pending改為fulfilled狀態(tài)污淋,后狀態(tài)不能再改變
也可以通過(guò)reject將pending改為rejected狀態(tài),此后狀態(tài)不能再改變余掖。
b. fulfilled狀態(tài)
可以通過(guò)relove一個(gè)value變成此狀態(tài)寸爆。必須包含一個(gè)value
c. rejected狀態(tài)
可以通過(guò)reject一個(gè)reason變成此狀態(tài)。必須包含一個(gè)reason
- 什么是promise a+規(guī)范盐欺,包含了什么赁豆。
promise是一個(gè)有then方法的函數(shù)或?qū)ο蟆?/li>
補(bǔ)充知識(shí)點(diǎn)
錯(cuò)誤觀念
- 之前認(rèn)為傳入promise中的函數(shù),是在then()調(diào)用之后才執(zhí)行冗美。 其實(shí)是在執(zhí)行構(gòu)造函數(shù)的時(shí)候就已經(jīng)執(zhí)行了歌憨。
課后問(wèn)題
- promise中參數(shù)的執(zhí)行時(shí)機(jī)是什么?
同步執(zhí)行墩衙,當(dāng)調(diào)用promise時(shí)务嫡,參數(shù)傳入的函數(shù)就已經(jīng)執(zhí)行。 - status有哪些漆改,他們的狀態(tài)流轉(zhuǎn)是怎樣的心铃?
有三種,pending挫剑,fulfilled去扣,rejected
pending可以流轉(zhuǎn)為其他兩種狀態(tài),無(wú)法反向流轉(zhuǎn) - promise的回調(diào)函數(shù)樊破,onFulfilled和onRejected的執(zhí)行時(shí)機(jī)是什么愉棱?
在status的狀態(tài)從pending變?yōu)閒ulfilled時(shí)會(huì)調(diào)用onFulfilled回調(diào)函數(shù),
在status的狀態(tài)從pending變成rejected時(shí)會(huì)調(diào)用onRejected回調(diào)函數(shù) - 靜態(tài)方法和實(shí)例方法有什么區(qū)別哲戚?
靜態(tài)方法相當(dāng)于直接通過(guò)類.函數(shù)名的方式調(diào)用奔滑,只能通過(guò)構(gòu)造函數(shù)去訪問(wèn),實(shí)例方法是掛在構(gòu)造函數(shù)的原型鏈上的 - generator的特性是什么顺少?只調(diào)用一次next可以輸出全部值嗎朋其?
迭代器,每次執(zhí)行next只輸出一個(gè)下一個(gè)結(jié)果脆炎,返回value和done - async 和await的規(guī)范梅猿,await的返回值
函數(shù)必須聲明async,才可以在內(nèi)部使用await
await的返回值是一個(gè)promise