1. ホーム
  2. angular

[解決済み] ZoneAwarePromiseとは

2022-02-11 06:28:29

質問

angular6を使用していますが、httpコールの1つが ZoneAwarePromise を変換しようとすると Observable にしています。 Promise . また、thenブロックが呼び出されない。

const login = this.authService.login(email, password).toPromise()
login.then(() => {\* not getting called*\})

とは何か、どなたか説明してください。 ZoneAwarePromise ?

解決するには?

Angularは非同期タスクの実行コンテキストを永続化するためにzone.jsに大きく依存しています。これは、以下のような注入可能なサービスに包まれています。 NgZone .

これらのZoneは、Promiseを含む非同期タスクを実行するための一般的なJSオブジェクトをラップしています。これは Zone をTaskやMicroTaskなどとして使用する。

A ZoneAwarePromise は、機能的には通常の Promise と同じですが、内部的には Zone の実行コンテキストと Zone は、その Promise がいつ完了したかを知ることができます。

Angularでは、この実行コンテキストは、ほとんどの場合、変更検知の実行を意味します。