亚洲男人天堂av,国产一区二区久久精品,国产精品一区二区久久精品,国产精品久久久久久一区二区三区,五月婷婷在线观看视频,亚洲狠狠色丁香婷婷综合

歡迎您訪問什么是promise?帶你了解它的含義、特點及狀態(tài)改變!

什么是promise?帶你了解它的含義、特點及狀態(tài)改變

更新時間:2025-08-22 17:50:19作者:佚名

什么是promise

承諾,在代碼里的含義是保證在一段時間之后(一般涉及異步處理)會反饋一個結果,是異步處理的一種方法。從語言規(guī)則角度講,原生承諾是一個物件,能從中得知異步工作的進展情況。

promise的特點

承諾存在三種情形,分別是待定,成功和失敗,只有非同步執(zhí)行的結果,才能判定當前屬于哪一種情形,其他任何行為都無法更改這種情形。

promise只有兩種狀態(tài)改變:

處理中狀態(tài)轉為完成狀態(tài),

處理中狀態(tài),轉變?yōu)楸痪芙^結局。

狀態(tài)變更完成時稱作解決,一旦狀態(tài)變成了解決,就不能再次轉變?yōu)閷崿F(xiàn)。

promise實例操作

在這里插入圖片描述

首先創(chuàng)造了一個Promise實例

創(chuàng)建一個承諾,這個承諾接受一個函數(shù)作為參數(shù),該函數(shù)有兩個參數(shù),一個是解決,一個是拒絕,
    if(/*異步執(zhí)行成功*/){

JavaScript Promise教程_Promise狀態(tài)管理_promise是什么意思

resolve(value); }else{ reject(error); } }) promise.then(function(){ //回調執(zhí)行成功之后的操作 },function(){ //回調執(zhí)行失敗之后的操作,可選 });

Promise的創(chuàng)建方法需要傳入一個處理函數(shù),此函數(shù)包含兩個參數(shù),一個是兌現(xiàn)的回調,另一個是拒絕的回調,這兩個回調函數(shù)均由JavaScript環(huán)境負責實現(xiàn)。異步任務順利完成時,就調用resolve方法,并將執(zhí)行結果作為參數(shù)傳遞進去,若異步任務執(zhí)行失敗,則調用reject方法,并將出現(xiàn)的異常作為參數(shù)返回。一旦Promise對象創(chuàng)建完畢,就可通過then函數(shù)來分別設定成功情形與失敗情形下的處理操作。

promise是什么意思_Promise狀態(tài)管理_JavaScript Promise教程

接下來探討一下如何定義函數(shù)原型方法Promise的then方法Promise的catch方法

上述代碼也可以理解成這樣:

獲取到位于路徑/posts.json的JSON數(shù)據(jù)后,接著執(zhí)行一個操作,這個操作以傳入的名為posts的參數(shù)作為處理對象,在處理過程中需要實現(xiàn)一個功能,這個功能會處理傳入的數(shù)據(jù),并且在完成后進行下一步的步驟
      // ...
}).catch(function(error) {
處理 getJSON 過程中的異常,處理上一個回調函數(shù)執(zhí)行時的故障
  console.log('發(fā)生錯誤!', error);
});

承諾對象里的最終方法能夠實現(xiàn)連續(xù)操作,它調用了承諾本身的接口,而承諾解析方法可以返回一個已解決狀態(tài)的承諾

把當前實體改造成承諾形態(tài),涉及四種數(shù)據(jù)規(guī)格:

Promise.reject()Promise.all()

這種技術把好幾個承諾實例,重新封裝成一個承諾實例。

JavaScript Promise教程_promise是什么意思_Promise狀態(tài)管理

將多個承諾組合成一個新承諾,這個新承諾在所有原始承諾都成功時才成功,在任何一個原始承諾失敗時立即失敗

參數(shù)未必是數(shù)組,也可能是其他可迭代對象,但必須具備可迭代特性,且其中包含的每個元素(p1、p2、p3)都應是 Promise 對象,若不是,則會先通過 Promise.resolve 方法將其轉換為 Promise 對象promise是什么意思,然后再進行后續(xù)操作。

var p = Promise.all([1,2,3]);
那個名為p2的變量,等于調用Promise.all函數(shù),參數(shù)是一個數(shù)組,里面包含數(shù)字1,數(shù)字2,數(shù)字3,以及一個已經解決為444的Promise對象
創(chuàng)建一個名為p3的Promise對象,該對象將等待一個包含數(shù)字1,2,3以及一個拒絕狀態(tài)的Promise的完成,當所有這些Promise都完成后,p3才會被解決或拒絕,其中拒絕狀態(tài)的值為555
setTimeout(function() {
    console.log(p);// Promise { : "fulfilled", : Array[3] }
       console.log(p2); // Promise { : "fulfilled", : Array[4] }
    console.log(p3); // Promise { : "rejected", : 555 }
});
p.then(function (posts) {
  // ..當有返回值的時候才會回調

Promise狀態(tài)管理_promise是什么意思_JavaScript Promise教程

}).catch(function(reason){ // ... });

Promise.allSettled -- 兼容性不友好

這種做法和all任務類似,是為了糾正all任務在處理異常時的欠妥之處而設計的。它接收一組承諾作為輸入,然后生成一個承諾作為輸出,與all任務的主要區(qū)別在于,它不會發(fā)生中斷,即無論承諾是否成功,在所有承諾處理完畢后,我們都能獲取到每個承諾的狀態(tài)。

Promise.race()

這種技術同樣是將好幾個承諾對象,整合為一個新的承諾對象,其余方面與all相似,但與all的不同之處在于:race方法類似于競賽,若干個實例同時進行,最先抵達終點者即告成功,并解決該成功者,或者某個實例在途中發(fā)生意外導致異常,則宣告失敗,并拒絕該失敗者promise是什么意思起步網校,不論成功還是失敗,都優(yōu)先處理最先完成的那個。

Promise.try-- 提案

在運用promise過程中,期望被promise封裝的函數(shù)體中同步代碼同步運行,異步代碼異步處理,并且讓它們擁有共同的接口

例:當同步函數(shù)被promise包裝后的執(zhí)行順序改變。

定義一個函數(shù)fn,當被調用時,會打印出文字同步1
Promise.resolve().then(fn)

JavaScript Promise教程_Promise狀態(tài)管理_promise是什么意思

console.log('同步2') //log后 //'同步2' //'同步1'

解決讓同步函數(shù)同步執(zhí)行,異步函數(shù)異步執(zhí)行現(xiàn)階段方法

over~有問題留言

拓展:

借鑒:

為您推薦

by mistake與by accident的區(qū)別:人為錯誤與意外驚喜的不同

accident,許多科學上的重大發(fā)現(xiàn)都是偶然的意外驚喜。她剛好在我們正要離開時到達,但我不能肯定這是出于偶然還是有意安排。chance,結果一定好的。哈哈,提問者已經選擇了一個回答,看來并非真想明白其間的區(qū)別和聯(lián)系。不過,其他朋友有類似疑惑的看到或許有所助益。

2025-08-22 20:56

public domain的英文翻譯是什么意思?其用法和例句介紹

domain的英文翻譯是什么意思,詞典釋義與在線翻譯:英英釋義domain的用法和樣例:例句他們錯誤地使用資金已經危害到了公共領域。在許多國家這默認是需要的,所以要是你不想他們受版權限制的話,你需要明確地把你的修改置于公共領域。詞匯搭配domain的相關資料:臨近單詞

2025-08-22 17:49

看完九型人格,驚覺自己竟是peacemaker,暈

看完九型人格,發(fā)現(xiàn)我竟然是個peacemaker,暈【欲望特質】:追求和平  〖基本困思〗:我若不和善,就沒有人會愛我。  〖人際關系〗:  和平型(Peacemaker)在很多情況,你們都是和平使者,善解人意,隨和。在沒有壓力的時候,是個實干者和完美主義者,有壓力的時候就成了懷疑論者。

2025-08-21 17:44

介詞in、on和at用法全解析,附有例句助你理解

介詞是用來表示物體、人和地點之間相互關系的詞語。介詞in,on和at常被用來表示這些關系。這里有關于何時該用介詞的解釋,并附有例句來幫助你理解。c.in和行、隊伍等進行搭配a.at與具體的地點進行搭配a.on與物體表面進行搭配使用onto來表示某人將某物放在物體表面。

2025-08-21 15:34

northwest是什么意思?你真的了解這個單詞嗎? 西北方向:阿申特

northwest是什么意思西北方向5英里外的阿申特島工黨在西北部發(fā)起了其選舉前的競選活動。南美洲遙遠的西北部疆域。美國西北部的沿海地帶在中國云南省的西南部,座落著一個古老的小鎮(zhèn).此鳥只在東北、西北、東南和西南筑巢以免被發(fā)現(xiàn).馬爾馬拉海土耳其西北部的一個海,位于亞洲和歐洲之間.

2025-08-21 15:24

規(guī)范化具體指什么?從基礎、引證等方面為您詳細介紹

規(guī)范化的具體解釋是什么呢,我們通過以下幾個方面為您介紹:一、基礎解釋????【點此查看規(guī)范化詳細內容】使合于一定標準語言規(guī)范化。五、關于規(guī)范化的詞語

2025-08-21 11:59

加載中...
主站蜘蛛池模板: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |