ES6之Promise講解async/await的使用

1.promise 是一個替代回調(diào)函數(shù)的箭昵,解決方案。傳統(tǒng)的回調(diào)需要回季,如果有多層家制,需要嵌套使用,但是promise改變了這種情況泡一,
由原來的嵌套颤殴,變成了正常順序執(zhí)行方式,而不需要把下一個執(zhí)行的寫在回調(diào)函數(shù)內(nèi)部鼻忠。
promise常用:reject reslove 跟在then之后的catch
一旦執(zhí)行了reject 或者 reslove,后面的promise狀態(tài)不會再變涵但。
代碼如下:

   function test(){
       //promise是一個構(gòu)造函數(shù),內(nèi)部接收一個回調(diào)函數(shù)帖蔓。
       //回調(diào)函數(shù)內(nèi)部有兩個參數(shù),reslove是執(zhí)行成功的時候調(diào)用的矮瘟,reject是失敗調(diào)用的
       var promise = new Promise(function(reslove,reject){
            reslove(true);
       });
       return promise;
   }

   //調(diào)用該函數(shù)
   test().then(function(value){
        //這里的value會收到上一個reslove過來的值
        retrun new Promise(function(reslove,reject){
             //對上一次的值做一個判斷處理
             if(value){
                reslove("成功");
             }else{
                reject("失敗");
             }
        });
   }).catch(function(val){
        //同時這里還可以捕捉異常
   }).then(function(value){
        //如果沒有拋出異常會繼續(xù)上一次的值
   });

2.async/await 語法糖
通過async 可以指定一個函數(shù)為異步函數(shù),執(zhí)行異步函數(shù)后才能使用await.
await的作用其實(shí)就是替代了then方法,將resolve的值直接返回塑娇,使用起來更加方便澈侠。

//示例
async function demo() {
var result = await test(); //這里可以直接接收到返回值
return result; //如果調(diào)用demo函數(shù)的話,也是需要使用await來接收result這個返回值的.
}

注意:當(dāng)return 一個await的值的時候埋酬,接收的函數(shù)也需要銅鼓await來接收哨啃,否則接收的數(shù)據(jù)會失敗烧栋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拳球,隨后出現(xiàn)的幾起案子审姓,更是在濱河造成了極大的恐慌,老刑警劉巖祝峻,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魔吐,死亡現(xiàn)場離奇詭異,居然都是意外死亡呼猪,警方通過查閱死者的電腦和手機(jī)画畅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宋距,“玉大人轴踱,你說我怎么就攤上這事⊙枋辏” “怎么了淫僻?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長壶唤。 經(jīng)常有香客問我雳灵,道長,這世上最難降的妖魔是什么闸盔? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任悯辙,我火速辦了婚禮,結(jié)果婚禮上迎吵,老公的妹妹穿的比我還像新娘躲撰。我一直安慰自己,他們只是感情好击费,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布拢蛋。 她就那樣靜靜地躺著,像睡著了一般蔫巩。 火紅的嫁衣襯著肌膚如雪谆棱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天圆仔,我揣著相機(jī)與錄音垃瞧,去河邊找鬼。 笑死荧缘,一個胖子當(dāng)著我的面吹牛皆警,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播截粗,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼信姓,長吁一口氣:“原來是場噩夢啊……” “哼鸵隧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起意推,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤豆瘫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后菊值,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體外驱,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年腻窒,在試婚紗的時候發(fā)現(xiàn)自己被綠了昵宇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡儿子,死狀恐怖瓦哎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柔逼,我是刑警寧澤蒋譬,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站愉适,受9級特大地震影響犯助,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜维咸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一剂买、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧癌蓖,春花似錦雷恃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旬痹。三九已至附井,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間两残,已是汗流浹背永毅。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留人弓,地道東北人沼死。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像崔赌,于是被迫代替她去往敵國和親意蛀。 傳聞我的和親對象是個殘疾皇子耸别,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 異步編程對JavaScript語言太重要。Javascript語言的執(zhí)行環(huán)境是“單線程”的县钥,如果沒有異步編程秀姐,根本...
    呼呼哥閱讀 7,298評論 5 22
  • 簡單介紹下這幾個的關(guān)系為方便起見 用以下代碼為例簡單介紹下這幾個東西的關(guān)系, async 在函數(shù)聲明前使用asyn...
    _我和你一樣閱讀 21,204評論 1 24
  • 弄懂js異步 講異步之前若贮,我們必須掌握一個基礎(chǔ)知識-event-loop省有。 我們知道JavaScript的一大特點(diǎn)...
    DCbryant閱讀 2,697評論 0 5
  • Promiese 簡單說就是一個容器,里面保存著某個未來才會結(jié)束的事件(通常是一個異步操作)的結(jié)果谴麦,語法上說蠢沿,Pr...
    雨飛飛雨閱讀 3,348評論 0 19
  • javascript的運(yùn)行機(jī)制是單線程處理弧轧,即只有上一個任務(wù)完成后雪侥,才會執(zhí)行下一個任務(wù),這種機(jī)制也被稱為“同步”精绎。...
    我是xy閱讀 3,871評論 1 6