「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 非同期操作を維持しながら連鎖関数での jQuery Promise を回避するにはどうすればよいですか?

非同期操作を維持しながら連鎖関数での jQuery Promise を回避するにはどうすればよいですか?

2024 年 11 月 6 日に公開
ブラウズ:893

How to Avoid jQuery Promises in Chained Functions While Maintaining Async Operations?

連鎖関数での jQuery Promises の回避

jQuery Promise を回避するための推奨にもかかわらず、開発者は、jQuery の関数を使用せずに非同期 jQuery 関数を連鎖するときに課題に直面する可能性があります。 .then() や .when() などの Promise 処理メカニズム。これに対処するには、次のアプローチを検討してください。

jQuery Promise は JavaScript Promise と相互運用可能です。これは、コード内でそれらを問​​題なく組み合わせて使用​​できることを意味します。すべての信頼できるライブラリとネイティブ Promise は、あらゆる実装からの thenable を受け入れます。その結果、ほとんどの場合、すべての Promise が同じ実装を使用しているかのようにコーディングできます。

ただし、すべての .then() 呼び出しで優先実装を使用するか、非実装を実装する必要がある場合は、標準機能では、メソッドを直接呼び出すすべての Promise を明示的にキャストすることが重要です。例:

Promise.all([$.ajax(...), $.ajax(...)]) // Just works (native `then`)
$.ajax(...) // jQuery promise
Promise.resolve($.ajax(...)) // Explicit cast
.then(function(data) { // Native `then`
  return $.ajax(...); // Just works
})
.catch(...) // Use features of native promise

jQuery と JavaScript の Promise を混合しても通常は問題ありませんが、実装を明示的に制御する必要がある場合は、明示的なキャスト アプローチを使用してください。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3