亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

Promise掃盲貼

2024-05-06 16:52:42
字體:
來源:轉載
供稿:網友

then

then函數可以return另一個promise:

const p1 = new Promise((resolve, reject) =>{  resolve('p1')})const p2 = new Promise((resolve, reject) =>{ setTimeout(() =>{  resolve('p2') },3000)})p1.then(res => { console.log(res)  return p2}).then(res =>{   // p2 resolve后才執行  console.log(res)})//p1// 3s后輸出...// p2

那么這個p2就會代替當前p1的狀態,等到新的p2的狀態修改時,下一個then才會執行

catch

1. 作用

可以捕獲到promise程序執行中的error,等同于  .then(null, rejection)  或  .then(undefined, rejection)

2. 可以獲取到的錯誤

promise函數體中拋出的error。在promise resolve后,再拋出錯誤,不會被捕獲

const p1 = new Promise((resolve,reject) => {throw new Error('error')})p1.catch(error => console.log(error))  // Error: error

promise的reject操作

const p2 = new Promise((resolve,reject) => reject('rejected'))p2.catch(error => console.log(error)) // rejected

then 函數體中拋出的error

const p3 = new Promise((resolve,reject) => resolve('resolved'))p3.then(res =>{  throw new Error('error')}).catch(error => console.log(error)) // Error: error

then函數可以返回一個promise(如果沒有定義catch方法),如果這個promise函數體中有reject或者error,也可以捕獲到

3. 推薦使用catch方式捕獲錯誤,而不是then的第二個參數:

因為catch可以捕獲到它前面所有then方法中的錯誤

finally

  • 不管promise最后狀態如何,都會執行的操作
  • 沒有參數,獲取不到當前promise最后的狀態

Promise.all

1. 參數

參數不僅僅可以是數組,具有Iterator接口的對象都可以。
數組參數的每一個元素為promise實例,如果不是,就會調用Promise.resolve轉換為Promise實例

const obj = {  [Symbol.iterator]() {    let index = 0    return {      next() {        return {          // promise對象 和 其他類型都可以          value: new Promise(resolve => resolve(index++)), done: index > 2          // value: index++, done: index > 2        }      }    }  }}const p = Promise.all(obj)p.then(res => {  console.log(res) // [0, 1]}) 

2. 狀態

const p = Promise.all([p1, p2, p3]);

p的狀態由p1、p2、p3決定,分成兩種情況:

  • 只有p1、p2、p3的狀態都變成fulfilled,p的狀態才會變成fulfilled,此時p1、p2、p3的返回值組成一個數組,傳遞給p的回調函數。
  • 只要p1、p2、p3之中有一個被rejected,p的狀態就變成rejected,此時第一個被reject的實例的返回值,會傳遞給p的回調函數。

3. catch

如果參數中的promise定義了catch方法,那么Promise.all()的catch就不會捕獲到錯誤

Promise.race

  • 只要p1、p2、p3之中有一個實例率先改變狀態,p的狀態就跟著改變。那個率先改變的 Promise 實例的返回值,就傳遞給p的回調函數。
  • 參數、catch規則同Promise.all

Promise.resolve

將現有對象轉為Promise對象。

1. 參數

  • 參數為promise實例:原封不動的返回這個實例。
  • 參數為thenable對象:將它轉為promise對象,然后立即執行它的then方法
  • 參數不是thenable對象,或者是一個原始值:返回一個新的promise對象,狀態為resolved
  • 沒有參數:直接返回衣蛾resolved狀態的promise對象

Promise.reject

返回一個狀態為rejected的promise實例

Promise.reject()方法的參數,會原封不動地作為reject的理由,變成后續方法的參數

const thenable = { then(resolve, reject) {  reject('error'); }};Promise.reject(thenable).catch(e => { console.log(e === thenable)})// true e并不是'error'

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品中文字幕电影| 国产999精品久久久影片官网| 日本精品性网站在线观看| 亚洲精品www久久久久久广东| 国产视频在线一区二区| 亚洲国产又黄又爽女人高潮的| 亚洲男人天堂2024| 精品小视频在线| 亚洲男人av在线| 国产日产久久高清欧美一区| 国产亚洲精品高潮| 久久天天躁狠狠躁夜夜躁2014| 亚洲精品福利在线| 国产免费一区二区三区在线能观看| 91精品视频免费观看| 成人黄色生活片| 欧美大人香蕉在线| 亚洲国产另类 国产精品国产免费| 国产日本欧美在线观看| 亚洲福利视频二区| 日韩中文第一页| 国产日韩精品视频| 久久久999国产| 亚洲综合国产精品| 一区三区二区视频| 日韩欧美国产视频| 国产在线精品成人一区二区三区| 精品国产一区二区三区四区在线观看| 国产精品免费福利| 国产欧美一区二区三区久久| 国产91露脸中文字幕在线| 麻豆乱码国产一区二区三区| 性欧美长视频免费观看不卡| 国内伊人久久久久久网站视频| www国产精品com| 久久婷婷国产麻豆91天堂| 日本一区二区在线播放| 在线色欧美三级视频| 亚洲天堂免费在线| 精品久久国产精品| 亚洲欧美一区二区三区情侣bbw| 欧美裸体男粗大视频在线观看| 91在线高清免费观看| 国产成人精品在线播放| 精品国产一区二区三区在线观看| 欧美性xxxx在线播放| 国产精品国产福利国产秒拍| 色综合天天狠天天透天天伊人| 日韩成人在线视频| 曰本色欧美视频在线| 国产精品电影观看| 黑人精品xxx一区一二区| 日韩精品视频在线观看免费| 欧美综合在线观看| 日韩影视在线观看| 亚洲国产精品大全| 精品亚洲国产视频| 91欧美精品成人综合在线观看| 欧美视频在线看| 久久久国产精品一区| 大胆人体色综合| 国产成人精品久久二区二区91| 亚洲娇小xxxx欧美娇小| 欧美野外wwwxxx| 亚洲性夜色噜噜噜7777| 中文字幕欧美日韩va免费视频| 欧美日韩在线一区| 美日韩精品视频免费看| 久久久精品欧美| 日韩欧美视频一区二区三区| 精品动漫一区二区| 欧美激情视频一区二区三区不卡| 国产精品电影久久久久电影网| 欧美与黑人午夜性猛交久久久| 97国产精品视频| 久久人人爽人人爽人人片亚洲| 欧美精品一区三区| 欧美日韩第一页| 色与欲影视天天看综合网| 欧美极品少妇xxxxx| 精品福利视频导航| 国产成人亚洲综合91精品| 欧美亚洲一级片| 国产精品白丝jk喷水视频一区| 欧美国产在线电影| 久久久久久久久网站| 日韩大片在线观看视频| 国产午夜精品全部视频在线播放| 欧美激情精品久久久久久大尺度| 欧美极品欧美精品欧美视频| 久久综合五月天| 国产成人精品视频在线| 国产91对白在线播放| 日韩精品在线影院| 精品国产老师黑色丝袜高跟鞋| 日韩欧美国产一区二区| 欧美电影在线播放| 国产精品久久久久久久久借妻| 色噜噜国产精品视频一区二区| 欧美人在线视频| 久久久免费观看视频| 在线观看日韩欧美| 最新亚洲国产精品| 视频在线观看一区二区| 国产91免费观看| 欧美在线视频免费观看| 午夜精品久久久久久久久久久久| 91精品久久久久久久久中文字幕| 亚洲激情第一页| 亚洲图片在线综合| 亚洲精品免费网站| 91精品中文在线| 最近的2019中文字幕免费一页| 自拍偷拍亚洲区| 免费av一区二区| 亚洲精品免费av| 日韩av电影免费观看高清| 久久久噜噜噜久噜久久| 日韩av电影在线免费播放| 久99九色视频在线观看| 成人妇女免费播放久久久| 色偷偷噜噜噜亚洲男人的天堂| 久久99热精品这里久久精品| 国精产品一区一区三区有限在线| 成人福利在线视频| 国产成人久久久精品一区| 91精品久久久久久综合乱菊| 欧美乱妇高清无乱码| 国产精品偷伦视频免费观看国产| 尤物yw午夜国产精品视频| 久久精品久久久久久| 久久精品欧美视频| 久久久亚洲福利精品午夜| 国产日产亚洲精品| 精品亚洲一区二区三区在线播放| 亚洲三级av在线| 久久国产一区二区三区| 日韩亚洲综合在线| 在线观看国产精品淫| 欧美激情极品视频| 亚洲精品大尺度| 国产精品手机播放| 日韩电影在线观看免费| 亚洲天堂av电影| 亚洲图片欧洲图片av| 亚洲女人被黑人巨大进入al| 在线电影中文日韩| 91网站免费看| 久久全国免费视频| 日韩在线免费观看视频| 亚洲精品免费av| 日韩中文字幕国产| 国内精品伊人久久| 91亚洲精品一区二区| 国产欧美精品一区二区三区介绍| 精品香蕉在线观看视频一| 中文字幕免费精品一区高清| 亚洲美女黄色片| 久久精品国产96久久久香蕉| 欧美wwwxxxx| 久久夜精品va视频免费观看| 日韩精品视频免费在线观看| 欧美一级成年大片在线观看| 欧美日韩第一视频|