問題タブ [zonejs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 分度器が待機している非同期タスクを追跡する方法は?
私は中規模の Angular アプリケーションを使用していますが、何らかの理由で分度器のテストの一部が実稼働環境に対して実行されるとタイムアウトになります。
分度器が非同期タスクを待機しているため、タイムアウトが発生することは間違いありません。私はゾーンについて知っており、実行時間の長い非同期タスクをすべて ngZone から除外しようとしました ( FAQに従って) が、何らかの理由で分度器がまだタイムアウトしています。
何かを見逃している可能性がありますが、問題をデバッグする方法がわかりません。コード分度器のどの部分が待機しているかを調べる方法はありますか?
NgZone は、マイクロタスクまたはマクロタスクが実行されているかどうかを判断する関数のみを公開しますが、どちらが実行されているかはわかりません。
編集:分度器で示されるようなタイムアウト エラーの典型的な例:
失敗: 非同期の Angular タスクが 11 秒後に終了するのを待ってタイムアウトしました。これは、現在のページが Angular アプリケーションではないことが原因である可能性があります。詳細については、FAQ を参照してください: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular
ロケータを持つ要素を待っている間 - ロケータ: By(css selector, [data-e2e='scroll-to-offer'])
要素はページに存在します (手動で確認しました) が、分度器はまだタイムアウトします。