JavaScript 的互操作性承诺实现异步 jQuery 函数的高效链接
链接异步 jQuery 函数时,通常需要避免 jQuery 的内置函数Promises 功能并使用原生 ES6 Promises 代替。这种互操作性允许 jQuery 操作和您想要的 Promise 实现之间的无缝集成。
使用 Native Promises 链接两个 getJSON 调用
链接两个 $.getJSON 调用而不使用 jQuery then () 或 .when(),请遵循这些步骤:
解析第一个jQuery Promise:
Promise.resolve($.getJSON(url1, params1));
在本机中链接第二个调用 then回调:
.then((data1) => { return $.getJSON(url2, params2); })
此方法确保第二次调用仅在第一个调用成功完成后执行,而不依赖于 jQuery 的 Promises 架构。
与 Non 接口-标准方法
虽然 JavaScript Promise 是可互操作的,但利用非标准方法或功能需要显式转换。例如,要访问本机 Promise 链中的 jQuery 特定方法,请在调用该方法之前使用 Promise.resolve() 将 jQuery Promise 转换为本机 Promise:
Promise.resolve($.ajax(…)) .then((data) => { // Use jQuery-specific method data.foo(); })
这种方式保证了 foo() 方法是在原生 Promise 链的上下文中被调用。
总之,通过了解 JavaScript Promise 的互操作性,你可以无缝地结合 jQuery 的具有所需 Promise 实现的异步功能,可有效链接异步操作。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3