BLOGカルテットコミュニケーションズ開発部ブログこの記事は公開されてから1年以上経過しています。情報が古い可能性がありますのでご注意ください。ベースとして実装されたAngularJSのビルトインオブジェクトです。触れられているように、ライブラリロードのスピードを重視したコンパクトなライブラリとなっています。同じため、メソッドごとの説明は省略します。});plunkerエラーは同期処理$qが他と異なる点は、エラーがPromiseオブジェクトと明確に区別される部分です。状態になりますが、$qはエラーが発生します。エラーが発生した後でcatch()が実行されます。して扱わないようです。reject('abort')のようにテキストを渡しているのに気づいたでしょうか。公式ドキュメントのサンプルでもreject()にはテキストが渡されています。Promiseオブジェクトとは別にエラーハンドリングを行うのが正しい方法のようです。Promiseオブジェクトが評価されるタイミングAngularJSはダイジェストループと呼ばれる仕組みを持っています。ダイジェストループではモデル・式などスコープの持つ値が全て再評価され$watchやngイベントが実行されます。逆に捉えると、ダイジェストループが起こるまではスコープには何も起きていません。Promiseオブジェクトも評価のタイミングはダイジェストループです。ブラウザを通してAngularJSを動作させる場合はDOMの更新やajaxのイベントによりダイジェストループが発生しますが、ユニットテストではそれらがないため自分で$digest()および$apply()を使ってダイジェストループを発生させる必要があります。TtskchTheme。