首頁 > web前端 > js教程 > 如何使用 jQuery Promises 順序連結三個非同步呼叫?

如何使用 jQuery Promises 順序連結三個非同步呼叫?

Linda Hamilton
發布: 2024-10-29 08:20:30
原創
783 人瀏覽過

How to Chain Three Asynchronous Calls Sequentially with jQuery Promises?

使用jQuery Promises 連結三個非同步呼叫

您需要依序執行三個非同步調用HTTP 調用,從一個呼叫傳遞資料到下一個。提供的程式碼對兩個函數使用延遲對象,但需要對三個函數進行擴展。

在每種情況下,傳回 $.ajax() 產生的 jqXHR 物件。這些物件與 Promise 相容,允許與 .then()/.done()/.fail()/.always() 連結。對於這種情況,.then() 是適當的。

<code class="javascript">function first() {
   return $.ajax(...);
}

function second(data, textStatus, jqXHR) {
   return $.ajax(...);
}

function third(data, textStatus, jqXHR) {
   return $.ajax(...);
}</code>
登入後複製

在「main」函數中,使用 .then() 將函數連結在一起。

<code class="javascript">function main() {
    first().then(second).then(third);
}</code>
登入後複製

參數數據, textStatus 和 jqXHR 源自前面函數中的 $.ajax() 呼叫。換句話說,first() 提供了 secondary(),而 secondary() 則提供了third()。

(為了說明,使用 $.when('foo') 產生一個已完成的 Promise 來代替 $。ajax(...))。

以上是如何使用 jQuery Promises 順序連結三個非同步呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板