2

anglejsが提供する遅延メソッドを使用し、データベースのローカルストレージにクエリを実行すると、「解決」が機能しないようです。次の例を参照してください。「then」アクションが実行されることはありません。「Person.all()」命令の代わりにsetTimeoutを試してみると、機能します。

var defer = $q.deferred();

Person.all().list(null, function (persons) {
   defer.resolve(persons);
});

defer.promise.then(function (persons) {
   console.log('resolved');
});

助けてくれてありがとう。

4

1 に答える 1

4

Angularjsの約束でthenは、ダイジェストサイクルでのみ起動します。

オブジェクトがサービスに含まれている場合は、Personオブジェクトを注入$rootScopeして呼び出し、発砲$apply()させることができます。then

于 2013-02-18T08:14:26.490 に答える