Promise能解決上面回調地獄引起的代碼可讀性特別差的問題,記住!promise並不會說有什么特別額外的功能,他就是把上面這種層層回調的代碼變得結構清晰,可讀性變高; 為什么promise能使用其可讀性變高呢?平時進行ajax異步請求和回調函數時是耦合 ...
上一篇講了promise的使用,這里不加贅述。但有時候會發現then里面的代碼即使抽離出來還是很多,有沒有辦法再進行抽離呢 promise也提供這樣的方式,能讓回調后的代碼進行一塊一塊地處理,代碼如下: 當然了,這里只是演示了resolve,但reject的使用也是差不多,是調用下一個catch而已 回歸正題,我們發現進入到下一個then,要 return new Promise....,代碼有 ...
2021-04-03 16:27 0 287 推薦指數:
Promise能解決上面回調地獄引起的代碼可讀性特別差的問題,記住!promise並不會說有什么特別額外的功能,他就是把上面這種層層回調的代碼變得結構清晰,可讀性變高; 為什么promise能使用其可讀性變高呢?平時進行ajax異步請求和回調函數時是耦合 ...
Promise對象是用於異步操作的。 Promise的真正強大之處在於它的多重鏈式調用,可以避免層層嵌套回調。如果我們在第一次ajax請求后,還要用它返回的結果再次請求呢? 使用Promise,我們就可以利用then進行「鏈式回調」,將異步操作以同步操作的流程表示出來。 以下是個小Demo ...
Promise的then用起來很方便,通過鏈式調用可以讓代碼看起來更清晰。 對應的結果是: 可是,如果我們在處理step2的時候,因為條件滿足了,后面的步驟不需要執行,這時候就需要去中斷后續的調用鏈。 方法一:通過拋出一個異常來終止 這時候的輸出 ...
...
在一個函數里面,需要發送多個ajax請求,並且下一個請求都需要上一個請求返回的數據,那我們可以下面的做法: 但有時候也不是需要下一個請求要上一個請求的數據,兩個請求各自不相干,但我們要求兩個請求執行完畢后,再拿他們的數據進行統一處理,promise提供了一個all方法能讓 ...
...
then在鏈式調用時,會等前一個then或者函數執行完畢,返回狀態,才會執行回調函數。 (1)代碼順序執行,第一步調用了函數cook ,cook執行返回了一個promise,promise返回的是成功狀態,即resolve('雞蛋炒飯'),那么參數“'雞蛋炒飯'”會傳遞給下一個 ...
Promise回調分兩種方法,then成功,catch失敗 第三種方法有點粗暴,但也是目前看來可解決的可行辦法 前兩種如果鏈式調用最后以失敗結尾的話是可行的,如果以成功結尾就會出問題,第三種方法是直接阻斷性,講進程轉到新的Promise ...