Promise 巢狀鏈式呼叫的問題

2021-09-26 14:09:04 字數 900 閱讀 5875

promise鏈式呼叫巢狀的問題,哈哈哈 雖然這個問題在正常開發中應該不會遇到,但是誰讓咱們是程式設計師呢, 就是喜歡搞事情,這個問題就是搞promise鏈式巢狀呼叫

new promise(function promise1(resolve,reject)).then(function then1()).then(function then11()).then(function then111()).then(function then1111())

}).then(function then12())

new promise(function promise3(resolve,reject)).then(function then2()).then(function then21()).then(function then211())

執行結果

結果中我們發現個問題就是為什麼then11 是優先於then12執行的呢???

我們來畫一下這一堆鏈式呼叫的鍊子,每乙個紅框都是自上而下的執行順序。

從這個執行順序當中我們,可以看出應該是先執行then12 ,再執行then11的呀,可是我們就忽略promise中then的定義:

在第二層then1的時候,then12 還沒有建立,因為then1中有同步**promise2,要走完promise2,promise2呼叫了個then11, 才會建立then12,所有再輸出的時候,then11 是優先於 then12的

promise的非同步鏈式呼叫

場景 淘公尺 乾淨的公尺下鍋 蒸公尺飯 吃公尺飯 這幾個步驟是乙個接著乙個執行,也就是只有前面的做完後,才會去做後面的.並且每一步都需要用一部分時間去執行.1 function deal task,time time 8 9 1011 執行後會每隔一秒顯示 淘公尺 公尺下鍋 蒸公尺飯 吃公尺飯 12...

Promise鏈式呼叫 終止或取消

promise 分兩種方法,then成功,catch失敗 let promise new promise function resolve,reject promise.then function val then function val catch function val 第三種方法有點粗暴,...

Promise的鏈式呼叫和axios處理高併發

最近在專案中又遇到了乙個介面的請求需要依賴另乙個介面的請求結果和處理高併發的場景了,所以即興在這裡簡單總結和分享下,歡迎指正和補充。一 promise 簡要回顧 promise 是乙個建構函式,作為 es6 中最重要的特性之一,它有 all resolve reject race 眼熟的方法,原型上...