最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中?Promise?的使用技巧

 更新時(shí)間:2022年08月15日 16:16:11   作者:JerryWang_sap  
這篇文章主要介紹了JavaScript中?Promise?的使用技巧,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

“生產(chǎn)代碼”是可能需要一些時(shí)間來(lái)執(zhí)行的代碼。

“消費(fèi)代碼”是必須等待結(jié)果的代碼。

Promise 是一個(gè) JavaScript 對(duì)象,它鏈接生產(chǎn)代碼和消費(fèi)代碼。

看一段最簡(jiǎn)單的代碼:

let myPromise = new Promise(function(myResolve, myReject) {
// "Producing Code" (May take some time)

  myResolve(); // when successful
  myReject();  // when error
});

// "Consuming Code" (Must wait for a fulfilled Promise)
myPromise.then(
  function(value) { /* code if successful */ },
  function(error) { /* code if some error */ }
);

執(zhí)行 new Promise 的構(gòu)造函數(shù)后,會(huì)立即進(jìn)入 Promise 的構(gòu)造函數(shù)體內(nèi),即包含了 resolve 和 reject 方法的匿名函數(shù)。

然后執(zhí)行完畢。此時(shí)并不會(huì)執(zhí)行 then 里的回調(diào)函數(shù)。

然后 then 指定的回調(diào)函數(shù)被異步調(diào)用,注意 Chrome 里的提示:

  • 當(dāng) Promise 對(duì)象處于 pending(工作)狀態(tài)時(shí),結(jié)果是未定義的。
  • 當(dāng) Promise 對(duì)象 fulfilled 時(shí),結(jié)果是一個(gè)值。如下圖所示:

  • 當(dāng) Promise 對(duì)象被 rejected 時(shí),結(jié)果是一個(gè)錯(cuò)誤對(duì)象。

開(kāi)發(fā)人員無(wú)法訪問(wèn) Promise 屬性狀態(tài)和結(jié)果,必須使用 Promise 方法來(lái)處理 Promise。

看一個(gè)包含 UI 的例子:

Promise 把異步代碼封裝起來(lái)。上圖的 setTimeout,模擬了一個(gè)耗時(shí) 3 秒的 HTTP 操作。

返回的 myPromise 對(duì)象,使用 then 注冊(cè)回調(diào)函數(shù)?;卣{(diào)函數(shù)不關(guān)心自己什么時(shí)候被調(diào)用。

運(yùn)行顯示:

3 秒后:

一個(gè)文件訪問(wèn)的例子:

let myPromise = new Promise(function(myResolve, myReject) {
  let req = new XMLHttpRequest();
  req.open('GET', "mycar.htm");
  req.onload = function() {
    if (req.status == 200) {
      myResolve(req.response);
    } else {
      myReject("File not Found");
    }
  };
  req.send();
});

myPromise.then(
  function(value) {myDisplayer(value);},
  function(error) {myDisplayer(error);}
);

函數(shù)體內(nèi)一般是一個(gè)比較費(fèi)時(shí)的操作,操作本身會(huì)立即執(zhí)行,但什么時(shí)候執(zhí)行結(jié)束?這就是一個(gè)異步操作了。執(zhí)行結(jié)束后,通過(guò) resolve 通知 then 注冊(cè)的回調(diào)函數(shù)。

到此這篇關(guān)于JavaScript  Promise 的使用技巧的文章就介紹到這了,更多相關(guān)JavaScript Promise 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js繪制一條直線并旋轉(zhuǎn)45度

    js繪制一條直線并旋轉(zhuǎn)45度

    這篇文章主要為大家詳細(xì)介紹了js繪制一條直線并旋轉(zhuǎn)45度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 微信小程序登陸注冊(cè)功能的實(shí)現(xiàn)代碼

    微信小程序登陸注冊(cè)功能的實(shí)現(xiàn)代碼

    通常小程序有為我們提供用戶授權(quán)登陸的功能,但是這個(gè)只能獲取用戶的頭像和昵稱(chēng),今天帶大家學(xué)習(xí)小程序登陸注冊(cè)功能的開(kāi)發(fā),需要的朋友可以參考下
    2019-12-12
  • js中eval詳解

    js中eval詳解

    先來(lái)說(shuō)eval的用法,內(nèi)容比較簡(jiǎn)單,熟悉的可以跳過(guò)
    2012-03-03
  • easywasmplayer實(shí)現(xiàn)視頻流播放示例詳解

    easywasmplayer實(shí)現(xiàn)視頻流播放示例詳解

    這篇文章主要為大家介紹了easywasmplayer實(shí)現(xiàn)視頻流播放示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • uni-app實(shí)現(xiàn)熱更新的詳細(xì)操作步驟

    uni-app實(shí)現(xiàn)熱更新的詳細(xì)操作步驟

    隨著 App 成功上架,可能更新頻率往往會(huì)越來(lái)越高,傳統(tǒng)的應(yīng)用更新方式要求用戶重新下載并安裝應(yīng)用,這不僅耗費(fèi)用戶大量時(shí)間、流量,還嚴(yán)重影響用戶體驗(yàn),為了提升用戶體驗(yàn),熱更新技術(shù)應(yīng)運(yùn)而生,所以本文介紹了uni-app實(shí)現(xiàn)熱更新的詳細(xì)操作步驟,需要的朋友可以參考下
    2025-04-04
  • 微信小程序獲取當(dāng)前位置的詳細(xì)步驟

    微信小程序獲取當(dāng)前位置的詳細(xì)步驟

    微信小程序開(kāi)發(fā)中選擇地理位置就需要通過(guò)官方文檔API去判斷用戶是否授權(quán)地理位置,用戶開(kāi)啟授權(quán)后可直接獲取地理位置,下面這篇文章主要給大家介紹了關(guān)于微信小程序獲取當(dāng)前位置的詳細(xì)步驟,需要的朋友可以參考下
    2022-12-12
  • js實(shí)現(xiàn)常用排序算法

    js實(shí)現(xiàn)常用排序算法

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)常用排序算法的代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離減少JS

    實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離減少JS

    本教程旨在實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離,減少JS在各方面(全屏遮蔽、ie6中遮蔽select、雙向居中、高度自適應(yīng)內(nèi)容等)的工作。
    2009-07-07
  • JavaScript語(yǔ)言中的Literal Syntax特性分析

    JavaScript語(yǔ)言中的Literal Syntax特性分析

    JavaScript語(yǔ)言中的Literal Syntax特性分析...
    2007-03-03
  • bootstrap警告框使用方法解析

    bootstrap警告框使用方法解析

    這篇文章主要為大家詳細(xì)介紹了bootstrap警告框使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評(píng)論

德兴市| 通山县| 高青县| 甘南县| 黄梅县| 内江市| 茂名市| 德庆县| 龙陵县| 罗甸县| 乌鲁木齐市| 同江市| 车险| 顺平县| 兰西县| 怀宁县| 连云港市| 永康市| 东光县| 天峻县| 柳州市| 左云县| 博乐市| 舒城县| 新源县| 东乡县| 托里县| 阿城市| 达州市| 灯塔市| 宜阳县| 玛沁县| 安乡县| 玛纳斯县| 溆浦县| 昌都县| 通化县| 平阴县| 周至县| 宜春市| 建宁县|