千鋒教育JavaScript全套視頻教程(10天學(xué)會(huì)Js,前端javascrip

1.Promise 是一個(gè) 構(gòu)造函數(shù),既然是構(gòu)造函數(shù),那么,我們就可以 new Promise() 得到一個(gè) Promise 的實(shí)例
2.在Promise 上,有兩個(gè)函數(shù),分別叫 resolve(成功之后的回調(diào)函數(shù)) 和 reject (失敗之后的回調(diào)函數(shù))
3.在 Promise 構(gòu)造函數(shù)的 Prototype 屬性上,有一個(gè) .then() 方法,也就是說,只要是 Promise 構(gòu)造函數(shù)創(chuàng)建的實(shí)例,都可以訪問到 .then() 方法
4.Promise 表示一個(gè) 異步操作 ;每當(dāng)我們 new 一個(gè) Promise 的實(shí)例,這個(gè)實(shí)例,就表示一個(gè)具體的 異步操作;
5.既然 Promise 創(chuàng)建的實(shí)例,是一個(gè) 異步操作 ,那么這個(gè) 異步操作 的結(jié)果,只能有兩種狀態(tài):
5.1 狀態(tài)一:異步執(zhí)行成功了,需要在內(nèi)部調(diào)用 成功的回調(diào)函數(shù),resolve 把結(jié)果返回給調(diào)用者;
5.2 狀態(tài)二:異步執(zhí)行失敗了,需要在內(nèi)部調(diào)用 失敗的回調(diào)函數(shù), reject 把結(jié)果返回給調(diào)用者
5.3 由于 Promise 的實(shí)例,是一個(gè)異步操作,所以,內(nèi)部拿到 操作的結(jié)果后,無法使用 return 把 操作的結(jié)果返回給調(diào)用者;這時(shí)候,只能使用回調(diào)函數(shù)的形式,來把 成功 或 失敗的結(jié)果,返回給調(diào)用者
6.我們可以在 new 出來的 Promise 實(shí)例上調(diào)用 .then() 方法,【預(yù)先】 為這個(gè) Promise 異步操作,指定 成功(resolve) 和 失敗(reject) 回調(diào)函數(shù);