jQuery を使用した JavaScript 非同期戻り値
質問:
どのようにすれば確実にアクセスできますか非同期 jQuery 関数から返される GUID 値?
回答:
非同期呼び出しは、その性質上、戻り値を提供できません。 jQuery の非同期関数はすぐに戻ります。つまり、関数が戻ったときに生成された値は利用できません。
解決策:
この課題に対処するには、主に 2 つのアプローチがあります。
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 中国語 Web サイトの他の関連記事を参照してください。