理解$.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中文網其他相關文章!