promise的理解和應用


  老鐵們,我又滿血復活了,今天我准備來吹一波我對promise,如有錯吳請直接指出,明白了嗎?話不多說開始吧

  首先我們需要知道啥叫promise,我問了問大佬,他說這個東西是 異步操作的同步代碼(but有兼容問題).

       下面我來說說我自己對他的理解:

        這個小東西吧還是挺可愛的,來,我們了解了解他

        1.它是一個構造函數,使用的時候需要用new實例化

        2.他有一個參數,這個參數是一個回調函數,這個回調函數里面又有兩個參數,第一個為resolve  第二個為 reject   (這里先放一下,我們來上一段代碼要不然太抽象了)

    new Promise(function(resolve,reject) {
             resolve()
       }).then(function(){},function(){})
       注釋:當回調函數里面調用resolve()時,.then會調用第一個函數;當回調函數里面調用reject()時,.then會調用第二個函數
                  也可以如下面這樣寫
      new Promise(function(resolve,reject) {
               resolve()
          }).then(function(){}).cath(function(){})    
                  注釋:這種寫法,當回調函數里面調用resolve()時,.then會執行;當回調函數里面調用reject()時,.catch會執行
                    大佬們可能發現了,那我的resolve和reject是形參啊,可不可以用別的名字,當然可以的啦,不過要注意和回調函數內部的調用名字統一起來
  
   3.Promise.all(arr).then(function(){})         arr為數組
           Now,我們來說一說Promise的非常有用的方法之一  all方法,這個方法作用:當all里面數組里的所有異步操作都執行完畢后再去執行.then();
  
  4. Promise.race(arr).then(function(){})       arr為數組
          接下來我們來說一說Promise的另一個方法  race方法,這個方法作用: 當race里面數組里的異步操作只要有一個執行完畢后就會去執行.then();
       
  5.我自己體會的作用,如有缺失,請立刻聯系我,你給我補充,我給你打錢
    Promise作用:    1.解決回調地獄(關於這個地獄問題,我會在隨后的隨筆中介紹一下)
            2.將Ajax獲取來的數據和業務邏輯分開
                 2.Promise.all()方法可以解決多個Ajax傳回的信息再次組合進行查詢
       告辭,告辭

************************************************又在成為最會說相聲的程序員的路上邁出了具有歷史性的一步*******************************************************************


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM