私はJASONファイルからDATAを呼び出すコードを書いています。 私は非同期の問題を抱え、同じ問題について多くの記事を見ました。すべてのデータがロードされるまで待ちます。 AngularJS
私はそれが私の問題を解決すると思ういくつかのコードを書いた。 しかし、まだデータが読み込まれていないようです。
私はより具体的に私の質問になります。私は以下の約束の方法を使用した。すべてのデータが完全に読み込まれる前に「質問」が返されるべきではないと私は考えました。明らかに、内部に何もない「質問」は私のページに返されます。
私の約束方法は正しいですか?どうすればこの問題を解決できますか? 誰か助けてくれますか?
(function(){
angular
.module("GrammarQuiz")
.factory("DataService", DataFactory);
function DataFactory($log, $q, $http, $timeout){
var vm = this
var questions = getData() ;
vm.getData = getData;
function getData(){
var defer = $q.defer()
$http.get('api/data1.json')
.success(function(res){
questions = res;
$log.log('success');
defer.resolve(res);
})
.error(function(err, status){
$log.log('fail');
defer.reject(err);
})
return defer.promise;
}
$log.log('check');
$log.log(questions[0]);
return questions;
}
})();
可能な複製コール?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –
はい私はこのポストを見ましたが、まだ理解できません私のコード内で解決する道を切り開いてください。私は何が問題なのか分かりません。 : –
これは競争状態の都市ですここで、何かのhttpリクエストを故意に遅らせて、後で何かをログに記録しますか?成功関数の関数を呼び出すか、約束を使用してください – ryanlutgen