<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        ES6Promise中then與catch的返回值的實(shí)例

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:34:02
        文檔

        ES6Promise中then與catch的返回值的實(shí)例

        ES6Promise中then與catch的返回值的實(shí)例:這篇文章主要介紹了關(guān)于ES6 Promise中then與catch的返回值的實(shí)例,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下一.catch為then的語(yǔ)法糖故then方法與catch方法均會(huì)返回一個(gè)Promise對(duì)象(對(duì),即使return 為某個(gè)值,或者throw e
        推薦度:
        導(dǎo)讀ES6Promise中then與catch的返回值的實(shí)例:這篇文章主要介紹了關(guān)于ES6 Promise中then與catch的返回值的實(shí)例,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下一.catch為then的語(yǔ)法糖故then方法與catch方法均會(huì)返回一個(gè)Promise對(duì)象(對(duì),即使return 為某個(gè)值,或者throw e
        這篇文章主要介紹了關(guān)于ES6 Promise中then與catch的返回值的實(shí)例,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

        一.catch為then的語(yǔ)法糖

        then方法與catch方法均會(huì)返回一個(gè)Promise對(duì)象(對(duì),即使return 為某個(gè)值,或者throw error,或者不返回值)
        我們來(lái)看看MDN的定義,這里可能為了嚴(yán)謹(jǐn)而說(shuō)得有點(diǎn)亂七八糟的
        2391029044-5b40aad37ae52_articlex[1].png

        簡(jiǎn)單來(lái)說(shuō),就是分為return 值(無(wú)return的情況下即返回undefined,也是返回值),throw errorreturn Promise

        二.說(shuō)說(shuō)return值與throw error的情況。

        1.return 值的情況:

        返回的Promise會(huì)成為Fulfilled狀態(tài)。
        return的值會(huì)作為新Promise對(duì)象下一個(gè)then的回調(diào)函數(shù)的參數(shù)值,貼代碼看例子

        var example = new Promise((fulfill, reject)=>{
         let i = 1;
         fulfill(i);
        })
        example
        .then((value)=>{ console.log(value); value++; return value; })
        .then((value) => {console.log(value); });

        輸出結(jié)果如下:
        1689940441-5b40aaea912dc_articlex[1].png

        調(diào)用fufill函數(shù)return value會(huì)傳給下一個(gè)回調(diào)函數(shù)
        回到上面的疑問(wèn),如果沒(méi)有return呢,那么就會(huì)返回undefined
        (就是函數(shù)無(wú)return返回的是undefined的情況,基礎(chǔ)要扎實(shí)啊啊啊)

        var example = new Promise((fulfill, reject)=>{
         let i = 1;
         fulfill(i);
        })
        example
        .then((value)=>{ console.log(value); value++; })
        .then((value) => {console.log(value);});

        輸出結(jié)果如下:
        2156426177-5b40aafad4116_articlex[1].png

        2.throw error的情況:

        返回的Promise會(huì)成為Rejected狀態(tài),
        下一步執(zhí)行catch中的回調(diào)函數(shù)或者then的第二個(gè)回調(diào)函數(shù)參數(shù)

        這里出現(xiàn)了之前一直搞混的東西。
        再次重復(fù)這一句話(huà):catch為then的語(yǔ)法糖,它是then(null, rejection)的別名。
        也就是說(shuō),catch也是then,它用于捕獲錯(cuò)誤,它的參數(shù)也就是是then的第二個(gè)參數(shù)。
        所以,假設(shè)catch中如果return 值的話(huà),新的Promise對(duì)象也會(huì)是接受狀態(tài)。
        看看例子:

        var example = new Promise((fulfill, reject)=>{
         let i = 1;
         reject(i);
        })
        example
        .catch(()=>{console.log('我是第一個(gè)catch的回調(diào)函數(shù)'); return 1;})
        .then(() =>{console.log('我是第一個(gè)then的回調(diào)函數(shù)'); throw Error })
        .catch(()=>{console.log('我是第二個(gè)catch的回調(diào)函數(shù)')})
        .then(() => {console.log('我是第二個(gè)then的回調(diào)函數(shù)')})

        結(jié)果如下圖:
        3218797185-5b40b1cf33150_articlex[1].png

        調(diào)用reject函數(shù)后,promise變?yōu)閞ejected狀態(tài),故執(zhí)行第一個(gè)catch的回調(diào)函數(shù)
        第一個(gè)catch的回調(diào)函數(shù)return 1,故執(zhí)行第一個(gè)then的回調(diào)函數(shù)
        第一個(gè)then的回調(diào)函數(shù)throw Error,故執(zhí)行第二個(gè)catch的回調(diào)函數(shù)
        第二個(gè)catch的回調(diào)函數(shù)ruturn undefined(如上文所言),故執(zhí)行第二個(gè)then的回調(diào)函數(shù)

        3.return Promise的情況

        至于return Promise的情況下,其實(shí)同理啦,我只是剛開(kāi)始接觸Promise語(yǔ)法時(shí)感到不是很適應(yīng):竟然會(huì)自動(dòng)為你生成Promise對(duì)象?!后來(lái)看了部分源碼剖析后才大致知道為什么會(huì)這樣子,鏈接也放下面吧

        用新學(xué)的知識(shí)實(shí)踐封了個(gè)讀取<input type='file'>中圖片的插件:
        https://github.com/Joeoeoe/-i...
        哪里寫(xiě)得不好大家指出啊哈哈

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ES6Promise中then與catch的返回值的實(shí)例

        ES6Promise中then與catch的返回值的實(shí)例:這篇文章主要介紹了關(guān)于ES6 Promise中then與catch的返回值的實(shí)例,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下一.catch為then的語(yǔ)法糖故then方法與catch方法均會(huì)返回一個(gè)Promise對(duì)象(對(duì),即使return 為某個(gè)值,或者throw e
        推薦度:
        標(biāo)簽: 例子 then catch
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲色图综合在线| 四虎影在线永久免费四虎地址8848aa | 成人免费男女视频网站慢动作 | 日本人的色道www免费一区| 亚洲国产精品尤物YW在线观看| 香港特级三A毛片免费观看| 又黄又爽又成人免费视频| 亚洲成人免费网站| 一二三四在线播放免费观看中文版视频 | 亚洲乱码日产精品BD在线观看| 最近新韩国日本免费观看| 亚洲欧洲日产国产最新| 日韩在线播放全免费| 亚洲人成7777影视在线观看| 亚洲精品动漫免费二区| 亚洲一区二区三区成人网站| 免费无码又爽又刺激毛片| 亚洲AV成人精品网站在线播放| 久久国产乱子伦精品免费强| 亚洲国产精品无码久久一区二区| 久久久久久亚洲av无码蜜芽| 毛片a级毛片免费观看品善网| 久久无码av亚洲精品色午夜| 亚洲伊人久久精品影院| 日韩免费人妻AV无码专区蜜桃| 亚洲18在线天美| 亚洲免费在线观看| 免费在线看污视频| 亚洲男人天堂2018av| 九月婷婷亚洲综合在线| 国产精品亚洲综合久久| 四虎成人精品在永久免费| 国产一二三四区乱码免费| 亚洲一区中文字幕在线观看| 免费在线观看亚洲| 无码人妻久久一区二区三区免费| 亚洲小说区图片区另类春色| 亚洲视频免费在线播放| 免费看黄网站在线看| 亚洲色欲www综合网| 亚洲人AV永久一区二区三区久久|