麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Promise是什么?

Promise是什么?

來源:千鋒教育
發布人:wjy
時間: 2022-06-01 16:43:00 1654072980

本文主要強調Promise的用法,討究Promise究竟在干什么。雖然已有大量的資料文檔對這個概念進行了詳細的講解。可是對初學者而言,在過于繁瑣的書面性概念中,確常常無法抓住重點,對問題本身的理解反而會造成麻煩。本文章只將重點放在作用上,忽略掉其它繁雜的概念,用盡可能直白的語言對這個問題進行剖析。閱讀本文需要十分鐘左右的時間,希望對您能有所幫助。

Promise是什么

### **Promise:**

### **作用:解決回調地獄問題,將函數嵌套的代碼方式改為平級的。**

當一個回調函數嵌套一個回調函數的時候,就會出現一個嵌套結構,當嵌套的多了就會出現回調地獄的情況。

為了能更加清晰的體會promise,我們需要先觀察一段代碼。

```text
        function f1(f){
  console.log("f1");
  f();
 }
 
 function f2(f){
  console.log("f2");
  f();
 }
 
 function f3(f){
  console.log("f3");
  f();
 }
 
 function f4(){
  console.log("f4");
 }
 
 //回調地獄
 f1(function(){
  f2(function(){
   f3(f4);
  });
 });
```

代碼段有四個函數,f1,f2,f3,f4均為函數,且后一個函數作為前一個函數的參數,然后進行嵌套調用。最終從調用的語法來看,代碼十分復雜,我們把回調函數這樣調用稱為回調地獄。

**Pomise的作用就是將嵌套的調用方式改為平級的。**也就是說從調用的結果上來看,最終本質上是沒有任何區別,Pormise只是改變了語法的書寫規則。這就是Pomise的基本使用方法。

Promise的語法規則如下:

```text
        //使用方法
 //1.通常放入一個函數體內
 //2.將promise對象作為返回值
 //3.promise對象包含的多為異步操作
 function fun(){
        //success表示成功的回調,failed表示失敗時的回調
  let p = new Promise(function(success,failed){
   if(條件){
    success();
   }else{
    failed();
   }
  });
  return p;
 }
 
 function success(){
  console.log("success");
 }
 
 function failed(){
  console.log("failed");
 }
 
        //promise對象.then(成功的方法,[失敗的方法]);
 fun().then(success,failed);
```

這里promise對象可以將以前通過形參傳遞的回調函數,用then方法來進行傳遞。其實promise主要處理的是異步操作,如常見的如ajax請求。我們的每一個異步事件,在執行的時候,都會有三種狀態,執行中,成功,失敗。這也就解釋了為什么then方法為什么會有兩個參數,參數1代表成功時執行的回調函數,參數2代表失敗時的執行狀態。

所以上述函數嵌套調用的代碼可以修改為:

```text
        function f1(){
  console.log("f1");
  let p = new Promise(function(f){
   f();
  });
  return p;
 }
 
 function f2(){
  console.log("f2");
  let p = new Promise(function(f){
   f();
  });
  return p;
 }
 
 function f3(){
  console.log("f3");
  let p = new Promise(function(f){
   f();
  });
  return p;
 }
 
 function f4(){
  console.log("f4");
 }
 
 //平級調用的方法
 f1().then(f2).then(f3).then(f4);
```

這樣實現的功能和上述代碼的功能是完全一樣的,但是解決了函數嵌套調用的麻煩。

結論:**Pomise的作用就是將嵌套的調用方式改為平級的,用于處理異步操作。**

更多關于“html5培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的提升班,高品質課程助理你實現夢想。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 无翼乌全彩无遮挡动漫视频| 国产大片中文字幕在线观看| 人人爽在线| 18女人毛片大全| 好紧我太爽了视频免费国产| 久久一本岛在免费线观看2020| 2018中文字幕第一页| 好男人好资源在线影视官网| 再深一点灬舒服灬太大了| 口工里番h全彩动态图| 欧美黑人xxxx| 黑人巨大战冲田杏梨| 国产综合在线观看视频| 超级香蕉97在线观看视频| 好吊妞最新视频免费观看| 一区二区三区中文字幕| 日韩毛片电影| 日本按摩xxxx| 国产在线精品一区二区中文| 老司机午夜在线视频免费| 试看120秒做受小视频免费| 日本三级理论| 小帅男同志chinesecouple| 国产精品igao视频网网址| 国产精品久久久久一区二区三区 | 免费的生活片| 久久精品无码一区二区三区| 吃奶摸下的激烈免费视频播放| 北条麻妃jul一773在线看| 男人j进美女p动态图片| 翁想房中春意浓1-28| 一个人hd高清在线观看免费直播| 啊灬啊灬别停啊灬用力啊免费| 超污视频在线观看| 免费日本黄色片| 欧美交换乱理伦片在线观看 | 国产成人精品久久| 国产乱子伦| 最近免费中文字幕大全高清大全1 波多野结衣中文无毒不卡 | 美女的大胸又黄又www又爽| 一区二区三区美女视频|