私はEmberアプリケーションを構築していますが、ストアを呼び出すのと同じ問題が発生していますが、ストアがデータを取得する前にバックエンドから。具体的には、findRecordに問題があります。Ember.js - 関数がストアされる前に終了しました
var admin = this.store.findRecord('admin', 1);
console.log(admin.get('season'));
console.log('Are we here?');
との両方の場合で
this.store.findRecord('admin', 1).then(function(admin) {
console.log(admin.get('season'));
});
console.log('Are we here?');
、
Are we here?
はシーズン前に記録されます。私はそれを両方の方法を実装しました。明らかに、コンソールログは例のためのものであり、実際に何をしようとしているのかという問題を引き起こします。誰もこの遅延の簡単な修正を知っていますか?
ありがとうございました。
[非同期呼び出しからの応答を返すにはどうすればよいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-呼び出し) –
[非同期呼び出しからの応答を返すにはどうすればよいですか](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call)戻り値を使用しない場合でも重複が適用されます - あなたはまだ非同期関数からの復帰後に何か起こることを期待しています。 –
Ember DataのAPIの中には、** synchronous **というものがあります。これは即座に値を返すことを意味します。たとえば、 'peekRecord'です。 'findRecord'は**非同期**です。これは約束を返し、どんな処理も' then'節の中で行わなければなりません。 –