私は1ページのアプリケーションに取り組んでいます。初めて、適切な1ページのアプリケーションを構築し、いくつかの落とし穴に遭遇しました。
各ページには、トリガーされる可能性のある一連の非同期操作があります。アクションには最大30秒かかる場合があります。
ユーザーがページを変更すると、完了時に非同期操作が失敗する可能性があります。
ページが変更されるたびにページのHTMLが再レンダリングされるため、DOM要素やその他のリソース/変数が欠落しているためにアクションが失敗します。また、状態の変化により、変数やその他のリソースが変化する可能性があります。
この種の問題に一般的にどのように対処しますか?
続行する前にチェックが行われるチェックポイントに分割されない限り、進行中のリクエストをキャンセルすることはほとんど不可能だと思います。
私はいくつかのオプションが次のようになると思います:
active page
チェックで各関数を終了します。これは、望ましくない動作を防ぐために、各リソースと対話する前にチェックポイントで実行する必要があります。例外をキャッチし、黙って失敗させます
何かご意見は?:)