JavaScript 的互通性承諾實現非同步jQuery 函數的高效連結
連結非同步jQuery 函數時,通常希望避免jQuery 的內建函數Promises 功能並使用原生ES6 Promises 取代。這種互通性允許 jQuery 操作和您所需的 Promise 實現之間的無縫整合。
使用本機Promises 連結兩個getJSON 呼叫
在不使用jQuery 的then 的情況下連結兩個$.getJSON 呼叫() 或.when() ,請依照以下步驟操作:
解析第一個jQuery Promise:
Promise.resolve($.getJSON(url1, params1));
.then((data1) => { return $.getJSON(url2, params2); })
在本機then 回調中連結第二個呼叫
:Promise.resolve($.ajax(…)) .then((data) => { // Use jQuery-specific method data.foo(); })此方法確保第二個呼叫僅在第一個呼叫成功完成後執行,而無需依賴jQuery 的Promises 架構。 與非標準方法互動雖然 JavaScript Promise 是可互通的,但利用非標準方法或功能需要明確轉換。例如,要存取本機Promise 鏈中的jQuery 特定方法,請在呼叫方法之前使用Promise.resolve() 將jQuery Promise 轉換為本機Promise:這種方法可確保foo () 方法是在原生Promise 鏈的上下文中呼叫的。 總之,透過了解 JavaScript Promise 的互通性,您可以將 jQuery 的非同步功能與所需的 Promise 實現無縫結合,以實現高效的非同步操作連結.
以上是如何利用原生 ES6 Promises 有效地連結異步 jQuery 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!