最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ES6 Promise(2) 基本用法

2020-04-25 12:54 作者:一枚猿  | 我要投稿

創(chuàng)建Promise



Promise?對(duì)象是由關(guān)鍵字?new?及其構(gòu)造函數(shù)來創(chuàng)建的。該構(gòu)造函數(shù)會(huì)把一個(gè)叫做“處理器函數(shù)”(executor function)的函數(shù)作為它的參數(shù)。這個(gè)“處理器函數(shù)”接受兩個(gè)函數(shù)——resolve?和?reject?——作為其參數(shù)。當(dāng)異步任務(wù)順利完成且返回結(jié)果值時(shí),會(huì)調(diào)用?resolve?函數(shù);而當(dāng)異步任務(wù)失敗且返回失敗原因(通常是一個(gè)錯(cuò)誤對(duì)象)時(shí),會(huì)調(diào)用reject?函數(shù)。



上面的myPromise 是一個(gè)Promise對(duì)象。它將擁有Promise的一些方法。


上例運(yùn)行的結(jié)果。


按照上面的思路,如果我們想讓某個(gè)函數(shù)擁有promise的功能,只需要讓它的返回值是一個(gè)Promise對(duì)象就可以了。比如




示例1

10秒之后,在頁碼上打印當(dāng)前時(shí)間。



提示

不要嘗試著在Promise里面寫定時(shí)器,那樣是沒有效果,因?yàn)橹灰{(diào)用了resolve或reject,說明我們這個(gè)promise已經(jīng)結(jié)束了。如果想加入定時(shí)器,參見示例2.



示例2


每隔1秒,在頁碼上打印出當(dāng)前時(shí)間。



運(yùn)行效果:



示例3

ajax請(qǐng)求。下面是用Promise來實(shí)現(xiàn)ajax請(qǐng)求。


運(yùn)行結(jié)果:


為什么要用promise



011、回調(diào)地獄 + 異步同步事件調(diào)用順序帶來的雙重傷害對(duì)于Promise的執(zhí)行很好的規(guī)范了對(duì)于復(fù)雜的嵌套回調(diào)的寫法,并且對(duì)于異步事件的執(zhí)行順序也是更加清晰。


022、回調(diào)事件的分離

Promise有三種狀態(tài):未定(pending)、接受(fulfillment)和拒絕(rejection)。并且,只能由未定狀態(tài)變?yōu)榻邮軤顟B(tài),或者由未定狀態(tài)變?yōu)榫芙^狀態(tài)。

只有調(diào)用resolve或reject回調(diào)函數(shù)時(shí),這個(gè)Promise的狀態(tài)才能從未定向其他兩個(gè)狀態(tài)改變。并且可以將異步操作的函數(shù)分離出來,提高了復(fù)用性。

























































ES6 Promise(2) 基本用法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
蒙山县| 竹溪县| 运城市| 武宣县| 阜城县| 东阳市| 道孚县| 和政县| 云阳县| 康乐县| 抚顺市| 安宁市| 仙居县| 手游| 东至县| 滨海县| 偏关县| 南昌县| 临汾市| 尼木县| 长乐市| 通海县| 建德市| 刚察县| 西丰县| 台中市| 垦利县| 乃东县| 海盐县| 永福县| 禄劝| 牡丹江市| 乌鲁木齐市| 嵊州市| 革吉县| 达州市| 清丰县| 滨州市| 濉溪县| 金门县| 镇远县|