検索

ホームページ  >  に質問  >  本文

angular.js - angularjs顺序问题?

1、我在app.run()里面通过ajax获取用户信息,在controller里需要用到获取到的用户信息,但是我发现有时我controller里运行的时候,app.run()里面获取用户信息的ajax还没返回,这就导致了报错。请问有没有好的解决办法,感觉遇到一大堆ajax时顺序好乱?

曾经蜡笔没有小新曾经蜡笔没有小新2745日前587

全員に返信(4)返信します

  • 迷茫

    迷茫2017-05-15 17:02:54

    なぜリクエストデータを run に置く必要があるのですか? js は非同期の問題に注意する必要があります。

    • コントローラーで ajax を介してデータをリクエストできます ($http を使用することをお勧めします)。データが返される前に、ページにローディング サークルを配置します。データが返された後、ページが更新され、ローディングされます。隠蔽されます。

    • ルートのresolve属性を使用することもできます。これは、ページをロードする前にデータが取得されるまで待機するためのものです。具体的な使用方法については、ルーティングのチュートリアルを参照してください。

    どちらの方法も非常に使いやすいですが、個人的には最初の方法が好きです。

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:02:54

    ルーターの解決

    返事
    0
  • 怪我咯

    怪我咯2017-05-15 17:02:54

    1. コントローラーでの実行中に ajax によって要求された Promise を取得し、そのコールバックにコードを記述することができます。

    2. コントローラーで必要なユーザー情報を監視し、値がある場合にロジックを実行することもできます。

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-15 17:02:54

    Ajax の実行が完了した後に変数 ok を定義して、成功したかどうかを識別できます
    コントローラー内で
    function waitOK() {

    リーリー

    }

    返事
    0
  • キャンセル返事