0
私のサービス層は、アプリケーションがオンラインのときにhttp要求を作成するのをサポートし、アプリケーションがオフラインのときに要求を保存する必要がありますアプリがオンラインのときの約束か、アプリがオフラインのときの何かの同期のいずれかである。 someServiceの実装は同期または非同期応答を持つことができるAPIを設計する方法
if (isOnline()) {
return http.post()
} else {
cachePostForLater();
}
コントローラ層から節約のオンライン/オフラインの複雑さを試してみて、非表示にするサービスから戻るための最善のことは何になりますしかし、私は現在
someService.save(data).then(function(response) {
performSomeAction();
});
がありますか?
を行うことができます。 – vgrafe
'$ q.resolve()'は直ちに解決される約束を返します。これはポスターが望むものと思われます。 'save()。then(function(){})'を実行すると 'save()'が '$ q.resolve()'を返しているときに 'then'関数が起動します。なぜ 'いつ'を使うのですか? – danyamachine
ありがとう!あなたはこれのためのテストを書く方法の提案を持っていますか?モックhttpbackendを使用すると、 'オンライン'のフローは簡単ですが、 のようなものです。var ranCallback = false; annotationService.saveAnnotation(annotation、contentInfo).then(function(){ ranCallback = true; }); expect(ranCallback).toBeTruthy(); 'オフライン'のフローの場合には失敗します –