JavaScript 与 jQuery 异步返回值
问题:
我们如何可靠地访问从异步 jQuery 函数返回 GUID 值?
答案:
异步调用本质上无法提供返回值。 jQuery 的异步函数会立即返回,这意味着函数返回时它们产生的值不可用。
解决方案:
有两种主要方法来处理这个挑战:
1。回调函数:
这涉及将回调函数传递给异步函数,异步函数在结果可用时接收结果。
<code class="javascript">function trackPage() { var elqTracker = new jQuery.elq(459); elqTracker.pageTrack({ success: function() { elqTracker.getGUID(function(guid) { // Handle the GUID here alert(guid); }); } }); }</code>
2. Promises:
jQuery 的延迟对象(promise)允许您创建返回 Promise 的异步逻辑。可以将回调附加到这些 Promise,以便在结果可用时接收结果。
<code class="javascript">function trackPage() { var elqTracker = new jQuery.elq(459); var dfd = $.Deferred(); elqTracker.pageTrack({ success: function() { elqTracker.getGUID(function(guid) { dfd.resolve(guid); }); } }); return dfd.promise(); } // Usage: trackPage().done(function(guid) { alert("Got GUID: " + guid); });</code>
附加说明:
以上是如何使用 jQuery 可靠地访问异步返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!