問題タブ [angular-promise]
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.
angularjs - Angular $q .catch() メソッドが IE8 で失敗する
promise の拒否 (基本的なngResource
呼び出しによって返される約束)をキャッチしようとしているときに、IE8 で奇妙なバグが発生しています。
このコードは次の.then(success, fail)
構文で機能します。
しかし、これは構文で失敗し.then(success).catch(fail)
ます:
.catch()
行を指しているIEエラーは次のとおりです。
予想される識別子
私は何か間違っていますか?誰かがそれを再現しますか?それとも、キーワードが制限されているため、一般的な IE8 ですか?
ありがとう
angularjs - AngularJS : $q -> 延期された API の順序 (ライフサイクル) AND 誰がダイジェストを呼び出しますか?
$q サービスはangularjs で非常に強力であり、非同期コードで私たちの生活を楽にしてくれます。
私はAngularを初めて使用しますが、遅延APIを使用することは私にとってそれほど新しいことではありません. 私How to use
はドキュメントの一部に完全に同意していると言わなければなりません+ドキュメント内には非常に便利なリンクがあります+ソースもチェックアウトしました。
私の質問は、angular の deferred および promise API オブジェクトの内部部分に関するものです。ライフ サイクルの正確なフェーズは何ですか。また、どのように相互作用しますか。私の仮定は、約束が解決されると、ダイジェストループが呼び出されるということです??? はい・いいえ ?rootScope.Scope
次の側面のリストに関して、具体的に詳細な回答を提供できますか。
- 説明した各ステップ/フェーズで発生する順序は何ですか?
- 新しいpromiseインスタンスを持つ新しい遅延オブジェクトが作成されたとき-誰がそれを認識していますか/それは重要ですか?
- promise オブジェクトが解決されたときに、スコープはどのくらい正確に更新されましたか? コールバック内で手動で更新する必要がありますか、またはダイジェストが自動的に呼び出され、ここで宣言されているように rootScope を更新します
- promise コールバック内からスコープを更新する少なくとも 1 つのアプローチについて言及する
- 他にもたくさんの便利な側面があると思いますが、それらすべてを自由に提供してください。
ドキュメントまたはソースへの可能な限りの参照(自分で見つけることができなかったもの)とともに、最も詳細な回答を高く評価し、受け入れます。このトピックに関する以前の議論が見つからない場合は、リンクを投稿してください。
ps:この質問のより良いタイトルを提案することで役立つ人には+1してください。コメントに提案を追加してください。
乾杯!
javascript - angularjsで保留中の$qプロミスをカウントする
私は複雑な angularjs アプリに取り組んでいます。複雑な意味での単一ビューは、コードのさまざまな場所 (ページ パーツ コントローラーやディレクティブ コントローラーなど) からクエリされる複数の異なるデータ ソースを持つことができます。これらのリクエストの一部は、解決に時間がかかる場合があり、ビューがやや無効な状態のままになることがあります。ある種の「データ読み込み」バナーを表示し、すべての約束が解決されるまでビューとのユーザー操作を無効にしたいと考えています。これは、$q.all() 関数を使用して単純な画面で機能します。ただし、アプリが構造化される方法は、データ ソース中心ではなく、よりビジネス ロジック中心です。したがって、より複雑な画面の場合、すべての約束が自然にアクセスできる単一の場所はありません。コード内にそのような場所を作成するのは面倒に思えます。
私はこの解決策を思いつきました:
同じことを達成するためのハッキーは少ないですか?
javascript - $q.defer() 変数を作成せずに $q.all への成功呼び出しを返す簡単な方法はありますか?
私のアプリケーションには、多数の同期および非同期 ($http 呼び出しを行う) メソッドがあります。コントローラーには、次のようなコードがあります。
syncMethod1() を待機する必要はありませんが、これを $q.all 内に配置して、物事をシンプルに保ち、将来必要に応じてメソッドを async に変更できるようにします。
同期関数については、次のように呼び出しています。
私が知りたいのは、sync メソッドを $q.all データに戻す方法があるかどうかですが、defer 変数を作成してから defer.promise を返す必要はありませんか? 同期方法をできるだけシンプルにしようとしています。
angularjs - AngularJS アプリがクエリ中にフリーズする
Parse バックエンドで Angular アプリを実行しています。クエリを作成すると、DOM がその時点で取得されているデータに依存していない場合でも、アプリがフリーズします。そのため、この回答はあまり役に立ちませんでした。リクエストの進行中にアプリの残りの部分を実行する方法はありますか?
以下は、リクエストが解決されるまですべてをフリーズするコードです。Parse Javascript SDK には、「QS.errorQuery.find()」が返すプロミスが付属しています。