私は1分以上かかり、データを返すかもしれないサービスを作った。 サービスコードの一部です。呼び出すまでの角度保留機能deferred.resolve
var deferred = $q.defer();
//check data is in cache
//if not, some process (take some time)
deferred.resolve(data);
});
return deferred.promise;
このサービスを2つのjsファイルで連続して使用しようとしました。これは、サービスを呼び出すjsコードの一部です。
myService.get().then(function(data) { //works });
これは動作する方法です。
負荷A.js - >サービス負荷 - >(多少時間がかかる)データを取得 - > キャッシュ内のデータを保存する - >プロセスA.js - >負荷B.js - >サービス負荷 - >データを取得キャッシュ→プロセスB.js
A.jsとB.jsファイルがほぼ同時に読み込まれるため、これは現在の動作です。
負荷A.js - >サービス負荷 - >(多少時間がかかる)データを取得 - >その間B.jsを読み込む - >サービス負荷 - > - >がデータを取得するには(いくつかの時間がかかる)のデータの読み込みにを複製...
A.jsサービスまたはB.jsサービスのいずれかが既にサービスで動作している場合、どのように保留する必要がありますか?
それは、直接私のサービスに使用するのは難しいのですが、あなたは私に新しい姿を与えました。ありがとう:) –