久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Promise的基本用法

        Promise的基本用法

        來(lái)源:千鋒教育
        發(fā)布人:wjy
        時(shí)間: 2022-10-12 17:18:01 1665566281

          (1)創(chuàng)建Promise對(duì)象

          Promise對(duì)象代表一個(gè)異步操作,有三種狀態(tài):pending(進(jìn)行中)、fulfilled(已成功)和rejected(已失敗)。

          Promise構(gòu)造函數(shù)接受一個(gè)函數(shù)作為參數(shù),該函數(shù)的兩個(gè)參數(shù)分別是resolve和reject。

        Promise的基本用法1

          一般情況下都會(huì)使用new Promise()來(lái)創(chuàng)建promise對(duì)象,但是也可以使用promise.resolve和promise.reject這兩個(gè)方法:

          Promise.resolve

          Promise.resolve(value)的返回值也是一個(gè)promise對(duì)象,可以對(duì)返回值進(jìn)行.then調(diào)用,代碼如下:

        Promise的基本用法2

          resolve(11)代碼中,會(huì)讓promise對(duì)象進(jìn)入確定(resolve狀態(tài)),并將參數(shù)11傳遞給后面的then所指定的onFulfilled 函數(shù);

          創(chuàng)建promise對(duì)象可以使用new Promise的形式創(chuàng)建對(duì)象,也可以使用Promise.resolve(value)的形式創(chuàng)建promise對(duì)象;

          Promise.reject

          Promise.reject 也是new Promise的快捷形式,也創(chuàng)建一個(gè)promise對(duì)象。代碼如下:

        Promise的基本用法3

          就是下面的代碼new Promise的簡(jiǎn)單形式:

        Promise的基本用法4

          下面是使用resolve方法和reject方法:

        Promise的基本用法5

          上面的代碼的含義是給testPromise方法傳遞一個(gè)參數(shù),返回一個(gè)promise對(duì)象,如果為true的話,那么調(diào)用promise對(duì)象中的resolve()方法,并且把其中的參數(shù)傳遞給后面的then第一個(gè)函數(shù)內(nèi),因此打印出 “hello world”, 如果為false的話,會(huì)調(diào)用promise對(duì)象中的reject()方法,則會(huì)進(jìn)入then的第二個(gè)函數(shù)內(nèi),會(huì)打印No thanks;

          (2)Promise方法

          Promise有五個(gè)常用的方法:then()、catch()、all()、race()、finally。下面就來(lái)看一下這些方法。

          then()

          當(dāng)Promise執(zhí)行的內(nèi)容符合成功條件時(shí),調(diào)用resolve函數(shù),失敗就調(diào)用reject函數(shù)。Promise創(chuàng)建完了,那該如何調(diào)用呢?

        Promise的基本用法6

          then方法可以接受兩個(gè)回調(diào)函數(shù)作為參數(shù)。第一個(gè)回調(diào)函數(shù)是Promise對(duì)象的狀態(tài)變?yōu)閞esolved時(shí)調(diào)用,第二個(gè)回調(diào)函數(shù)是Promise對(duì)象的狀態(tài)變?yōu)閞ejected時(shí)調(diào)用。其中第二個(gè)參數(shù)可以省略。

          then方法返回的是一個(gè)新的Promise實(shí)例(不是原來(lái)那個(gè)Promise實(shí)例)。因此可以采用鏈?zhǔn)綄懛ǎ磘hen方法后面再調(diào)用另一個(gè)then方法。

          當(dāng)要寫有順序的異步事件時(shí),需要串行時(shí),可以這樣寫:

        Promise的基本用法7

          那當(dāng)要寫的事件沒(méi)有順序或者關(guān)系時(shí),還如何寫呢?可以使用all 方法來(lái)解決。

          2. catch()

          Promise對(duì)象除了有then方法,還有一個(gè)catch方法,該方法相當(dāng)于then方法的第二個(gè)參數(shù),指向reject的回調(diào)函數(shù)。不過(guò)catch方法還有一個(gè)作用,就是在執(zhí)行resolve回調(diào)函數(shù)時(shí),如果出現(xiàn)錯(cuò)誤,拋出異常,不會(huì)停止運(yùn)行,而是進(jìn)入catch方法中。

        Promise的基本用法8

          all()

          all方法可以完成并行任務(wù), 它接收一個(gè)數(shù)組,數(shù)組的每一項(xiàng)都是一個(gè)promise對(duì)象。當(dāng)數(shù)組中所有的promise的狀態(tài)都達(dá)到resolved的時(shí)候,all方法的狀態(tài)就會(huì)變成resolved,如果有一個(gè)狀態(tài)變成了rejected,那么all方法的狀態(tài)就會(huì)變成rejected。

        Promise的基本用法9

          調(diào)用all方法時(shí)的結(jié)果成功的時(shí)候是回調(diào)函數(shù)的參數(shù)也是一個(gè)數(shù)組,這個(gè)數(shù)組按順序保存著每一個(gè)promise對(duì)象resolve執(zhí)行時(shí)的值。

          (4)race()

          race方法和all一樣,接受的參數(shù)是一個(gè)每項(xiàng)都是promise的數(shù)組,但是與all不同的是,當(dāng)最先執(zhí)行完的事件執(zhí)行完之后,就直接返回該promise對(duì)象的值。如果第一個(gè)promise對(duì)象狀態(tài)變成resolved,那自身的狀態(tài)變成了resolved;反之第一個(gè)promise變成rejected,那自身狀態(tài)就會(huì)變成rejected。

        Promise的基本用法10

          那么race方法有什么實(shí)際作用呢?當(dāng)要做一件事,超過(guò)多長(zhǎng)時(shí)間就不做了,可以用這個(gè)方法來(lái)解決:

        Promise的基本用法11

          finally()

          finally方法用于指定不管 Promise 對(duì)象最后狀態(tài)如何,都會(huì)執(zhí)行的操作。該方法是 ES2018 引入標(biāo)準(zhǔn)的。

        Promise的基本用法12

          上面代碼中,不管promise最后的狀態(tài),在執(zhí)行完then或catch指定的回調(diào)函數(shù)以后,都會(huì)執(zhí)行finally方法指定的回調(diào)函數(shù)。

          下面是一個(gè)例子,服務(wù)器使用 Promise 處理請(qǐng)求,然后使用finally方法關(guān)掉服務(wù)器。

        Promise的基本用法13

          finally方法的回調(diào)函數(shù)不接受任何參數(shù),這意味著沒(méi)有辦法知道,前面的 Promise 狀態(tài)到底是fulfilled還是rejected。這表明,finally方法里面的操作,應(yīng)該是與狀態(tài)無(wú)關(guān)的,不依賴于 Promise 的執(zhí)行結(jié)果。finally本質(zhì)上是then方法的特例:

        Promise的基本用法14

          上面代碼中,如果不使用finally方法,同樣的語(yǔ)句需要為成功和失敗兩種情況各寫一次。有了finally方法,則只需要寫一次。

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        大數(shù)據(jù)測(cè)試工程師需要具備哪些技能?

        一、理解大數(shù)據(jù)概念大數(shù)據(jù)測(cè)試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲(chǔ)、MapReduce、實(shí)時(shí)計(jì)算等。他們還需要了解如何處理大規(guī)模的...詳情>>

        2023-10-14 23:43:03
        為什么SpringBoot的 jar 可以直接運(yùn)行?

        一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫,它是一種壓縮文件格式,可以將Java項(xiàng)目的類文件、資源文件以及依賴庫(kù)等...詳情>>

        2023-10-14 23:01:49
        站群服務(wù)器是什么?

        站群服務(wù)器的含義與用途站群服務(wù)器主要用于支持站群,即由一組相互鏈接的網(wǎng)站組成的群體。這些網(wǎng)站通常由同一組織或個(gè)人擁有,并且經(jīng)常會(huì)互相鏈...詳情>>

        2023-10-14 22:46:12
        自編碼器是什么?

        一、自編碼器原理自編碼器的設(shè)計(jì)靈感源于神經(jīng)科學(xué)中關(guān)于感知系統(tǒng)的認(rèn)知原理,它的核心思想是將輸入數(shù)據(jù)經(jīng)過(guò)編碼過(guò)程,形成一個(gè)隱藏層的特征表示...詳情>>

        2023-10-14 22:41:10
        什么是云網(wǎng)融合?

        一、云網(wǎng)融合的定義云網(wǎng)融合是指將云計(jì)算與網(wǎng)絡(luò)技術(shù)相結(jié)合,實(shí)現(xiàn)資源的共享、業(yè)務(wù)的協(xié)同,將網(wǎng)絡(luò)與云端服務(wù)深度融合,提供更靈活、高效、安全的...詳情>>

        2023-10-14 22:31:47
        分宜县| 长顺县| 宣威市| 金平| 长白| 会宁县| 富蕴县| 白玉县| 自治县| 海兴县| 甘南县| 浦城县| 林州市| 金湖县| 收藏| 壤塘县| 榆树市| 辽源市| 淮滨县| 呼图壁县| 盐津县| 柏乡县| 徐州市| 万源市| 巴南区| 布尔津县| 九江县| 渑池县| 屯昌县| 扶风县| 罗平县| 枝江市| 胶州市| 原阳县| 明星| 丹棱县| 运城市| 新化县| 仪陇县| 博白县| 沂南县|