ページが表示されていないときに、RXJS ストリームが 250 ミリ秒間隔でデータのチャンクを処理する必要があります。Chrome は、これらの間隔を 1000 ミリ秒間隔に調整しています。これを回避するために、Web ワーカー内で setInterval を使用する AsyncAction を実装しました。私は次のように使用しています:
export const customScheduler = new AsyncScheduler(WebWorkerAsyncAction)
しかし、これには問題がないわけではありません。これを JIT を使用してコンパイルすると、正常に動作します。AOT (別のプロジェクト要件) でコンパイルする場合、最初のコンパイルでは機能しますが、その後の 2 回目のコンパイルは次のエラーで失敗します。
ERROR in : エラー: TsCompilerAotCompilerTypeCheckHostAdapter.fromSummaryFileName (\node_modules@angular\compiler-cli\src\transformers\compiler_host.js:272:23 で /node_modules/rxjs/internal/scheduler/AsyncScheduler.d.ts から ./ を解決できませんでした) AotSummaryResolver.fromSummaryFileName (\node_modules@angular\compiler\bundles\compiler.umd.js:26320:30) で \node_modules@angular\compiler\bundles\compiler.umd.js:24481:126 で Array.map () FromJsonDeserializer.deserialize (\node_modules@angular\compiler\bundles\compiler.umd.js:24481:41) で deserializeSummaries (\node_modules@angular\compiler\bundles\compiler.umd.js:24086:29) で AotSummaryResolver._loadSummaryFile (\node_modules@angular\compiler\bundles\compiler.umd.js:26370:26) AotSummaryResolver で。resolveSummary (\node_modules@angular\compiler\bundles\compiler.umd.js:26328:22) で ToJsonSerializer.loadSummary (\node_modules@angular\compiler\bundles\compiler.umd.js:24310:48) で ToJsonSerializer.visitStaticSymbol ( \node_modules@angular\compiler\bundles\compiler.umd.js:24285:32) で ToJsonSerializer.visitOther (\node_modules@angular\compiler\bundles\compiler.umd.js:24250:34) で visitValue (\node_modules@angular) \compiler\bundles\compiler.umd.js:2438:24) at \node_modules@angular\compiler\bundles\compiler.umd.js:2451:54 at Array.map () at ToJsonSerializer.ValueTransformer.visitArray (\node_modules@ angular\compiler\bundles\compiler.umd.js:2451:24) at visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2429:28)loadSummary (\node_modules@angular\compiler\bundles\compiler.umd.js:24310:48) で ToJsonSerializer.visitStaticSymbol (\node_modules@angular\compiler\bundles\compiler.umd.js:24285:32) で ToJsonSerializer.visitOther ( \node_modules@angular\compiler\bundles\compiler.umd.js:24250:34) at visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2438:24) at \node_modules@angular\compiler\bundles \compiler.umd.js:2451:54 at Array.map () ToJsonSerializer.ValueTransformer.visitArray (\node_modules@angular\compiler\bundles\compiler.umd.js:2451:24) at visitValue (\node_modules@angular\コンパイラ\バンドル\compiler.umd.js:2429:28)loadSummary (\node_modules@angular\compiler\bundles\compiler.umd.js:24310:48) で ToJsonSerializer.visitStaticSymbol (\node_modules@angular\compiler\bundles\compiler.umd.js:24285:32) で ToJsonSerializer.visitOther ( \node_modules@angular\compiler\bundles\compiler.umd.js:24250:34) at visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2438:24) at \node_modules@angular\compiler\bundles \compiler.umd.js:2451:54 at Array.map () ToJsonSerializer.ValueTransformer.visitArray (\node_modules@angular\compiler\bundles\compiler.umd.js:2451:24) at visitValue (\node_modules@angular\コンパイラ\バンドル\compiler.umd.js:2429:28)visitOther (\node_modules@angular\compiler\bundles\compiler.umd.js:24250:34) at visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2438:24) at \node_modules@angular\compiler \bundles\compiler.umd.js:2451:54 at Array.map () ToJsonSerializer.ValueTransformer.visitArray (\node_modules@angular\compiler\bundles\compiler.umd.js:2451:24) at visitValue (\node_modules@ angular\compiler\bundles\compiler.umd.js:2429:28)visitOther (\node_modules@angular\compiler\bundles\compiler.umd.js:24250:34) at visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2438:24) at \node_modules@angular\compiler \bundles\compiler.umd.js:2451:54 at Array.map () ToJsonSerializer.ValueTransformer.visitArray (\node_modules@angular\compiler\bundles\compiler.umd.js:2451:24) at visitValue (\node_modules@ angular\compiler\bundles\compiler.umd.js:2429:28)24) visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2429:28) で24) visitValue (\node_modules@angular\compiler\bundles\compiler.umd.js:2429:28) で
これは「内部」RXJS パッケージを使用する際の癖だと思いますが、AsyncHandler に頼らずにこれを回避する方法はわかりません。