首頁 >web前端 >js教程 >如何使用 jQuery 的 $.when() 有效處理延遲物件陣列?

如何使用 jQuery 的 $.when() 有效處理延遲物件陣列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-19 10:15:14352瀏覽

How Can I Effectively Handle Arrays of Deferred Objects with jQuery's $.when()?

理解$.when() 中的延遲數組處理

在類似於提供的JSFiddle 中演示的場景中,一組生成演示的場景中,一組生成延遲任務並將其傳遞給$.when()。然而, $.when() 預設需要單獨的延遲物件作為參數,並且可能無法有效地處理陣列。

利用 Function.prototype.apply

要解決這個問題,您可以使用 Function.prototype.apply 將延遲陣列作為單獨的參數傳遞。這可以透過以下語法來實現:

$.when.apply($, my_array).then( ___ );

此方法會將數組擴展為逗號分隔的各個延遲列表,允許 $.when() 正確處理它們。

使用ES6 Spread 運算子

或者,如果您使用的是ES6 或更高版本,您可以使用擴充運算子(...) 更簡潔地達到相同的效果:

$.when(...my_array).then( ___ );

在.then()處理程序中處理動態參數計數

由於 .then() 處理程序所需的參數數量事先未知,因此建議處理參數數組以提取每個 Promise 的結果。這可以在處理函數本身內完成。

以上是如何使用 jQuery 的 $.when() 有效處理延遲物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn