0

ASINetworkQueue を使用して複数の ASIHTTPRequest を実行しています。リクエストが失敗した場合は、保留中のリクエストをキャンセルしてキューを終了させたいと考えています。ドキュメントを読むと、これがデフォルトの動作になるはずです。しかし、リクエストが失敗した後でも、残りのリクエストのほとんどで「requestStarted」が返され、すべてのリクエストで「requestFailed」が返されることがわかりました。おそらく、私のリクエストが非常に小さく、障害が検出されるとリクエストがキャンセルされる前にリクエストが開始されるためだと思います。setShouldCancelAllRequestsOnFailure:YES を暗黙的に設定しようとしましたが、違いはありませんでした。

4

1 に答える 1

0

あなたの要求の正確な性質を知らなくても...短い答え:はい、それはそれが想定されているように機能しています。障害が発生する前にリクエストが開始されています。より長い答え:キューのmaxConcurrentOperationCountプロパティを設定してみてください。これは、失敗をテストする必要がある場合に、要求パイプラインをもう少しうまく制御するのに役立つ場合があります。

于 2012-06-14T11:45:30.287 に答える