コードの一部がAngular外から実行されたかどうかわからないときに、Angularゾーン内で関数を実行できるグローバル関数があります。ここでZoneをチェックして何かを保存していますか?
機能です:
export class Zones {
public static maybe(zone: NgZone, callee:() => any) {
return NgZone.isInAngularZone()
? callee()
: zone.run(callee);
}
}
私はこの機能を使用して開始した後。私はこのチェックが冗長かどうか疑問に思った。たぶんNgZone.run()
メソッドはすでにisInAngularZone
を呼び出していて、上記のロジックも実行しています。
Angularソースコードを見てみましたが、ゾーンは別のライブラリで処理されてしまい、実行パスに従うことを迷ってしまいました。
https://github.com/angular/zone.js/
は、だから私は上記の機能を使用し続けたが、それが必要だことを確認したい:
はここゾーンプロジェクトです。