前端開發技術-promise是什麼?

千鋒武漢發表於2021-07-14

      本文主要的目的是為大家介紹promise在前端的用法是怎樣的,雖然有不少的解釋文件,但對於新手來說並不友好。這裡小千就給大家用最簡單的大白話解釋一下,並配上例子,廢話不多說開始今天的介紹。

      Promise

      作用:解決回撥地獄問題,將函式巢狀的程式碼方式改為平級的。

      當一個回撥函式巢狀一個回撥函式的時候,就會出現一個巢狀結構,當巢狀的多了就會出現回撥地獄的情況。

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

web前端培訓

      程式碼段有四個函式,f1,f2,f3,f4均為函式,且後一個函式作為前一個函式的引數,然後進行巢狀呼叫。最終從呼叫的語法來看,程式碼十分複雜,我們把回撥函式這樣呼叫稱為回撥地獄。

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

      Promise的語法規則如下:

web前端培訓2

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

      所以上述函式巢狀呼叫的程式碼可以修改為:

web前端培訓3

      這樣實現的功能和上述程式碼的功能是完全一樣的,但是解決了函式巢狀呼叫的麻煩。

      結論:Pomise的作用就是將巢狀的呼叫方式改為平級的,用於處理非同步操作。

      本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2781206/,如需轉載,請註明出處,否則將追究法律責任。

相關文章