私はjquery1.5で新しい遅延AJAX関数をテストしてきましたが、そのシンプルさとパワーに感銘を受けました。これらのリクエストをキューに入れるための最良の方法に関して、私が持っているより大きな質問があります。
必要に応じて、シリアルとパラレルの2つのシナリオがあります。同期/非同期の用語を避けたいのは、これらすべてを非同期リクエストにして、ユーザーがキューの処理を待っている間に他のアクションを実行できるようにするためです。次に、キューの処理が完了したときに1つの関数を呼び出します。
2つのリクエストがある「シリアルモード」では、次のように処理する必要があります。
RequestA-> ResponseA-> RequestB-> ResponseB-> EndOfQueue
2つのリクエストがある「パラレルモード」では、次の結果が必要です。
RequestA-> RequestB(ResponseA、ResponseBは準備ができたらいつでも処理されます)-> EndOfQueue
いずれの場合も、いずれかのリクエストが失敗した場合は、キューを停止して、失敗した関数に制御を渡します。
動的キューの長さを指定する要件があるので、.then()または.when()の遅延をまとめて文字列化することはできないと思います。これは、100アイテムか100アイテムかわからないためです。 。ベンダーのAPIを介してサーバー上でビジネスロジックを実行しているため、サーバー側のバッチ処理は、そのコードを制御できないため困難になります。
「並列」ケースを実行し、すべてが正常に完了した後にwhen()関数を呼び出すテストケースを作成しましたが、これらのテストはキューの長さが動的ではなく、シリアルモデルに移植できません。
これを処理するカスタムキューオブジェクトを作成する方法はわかりますが、すべての部分がすでにjquery(?)で記述されているようです。私は調べましたが、このようにシーケンシャルリクエストをカバーする例は見つかりませんでした。
jqueryキュー/遅延機能でこれを処理する方法について何か考えはありますか?