1

既存の Web アプリ用に Angular でサービス レイヤーを構築しています。$http リクエストとデータ マッサージを Angular カスタム サービスに移動します。サービスの依存性注入の部分は理解していますが、成功/エラーに苦しんでおり、それをコントローラーに渡しています。

$q で promise を使用している人を見かけます。サービス呼び出しごとに単一の REST API 呼び出しを行っている場合、約束のためのより簡単な "then()" 構文はありますか? 注: バックエンドは非標準の REST であるため、$resource 戦略は機能しません。サービスからのプロミス/コールバックを処理する最新の推奨方法がわかりません。成功条件だけを考えれば、コールバックは簡単に思えます。サービスのこの側面をよく示している最近の素晴らしいサンプルアプリはありますか? または記事?

4

2 に答える 2

1

私は最近、いくつかのキャッシング サービスを書きましたが、deferred を使用するかコールバックを使用するかを決めることができませんでした。deferreds ルートを使用することになりましたが、気に入っています。同じことを2回書きましたが、あなたのサービスを利用している人々にとって、変化はほんのわずかであると断言できます.

コールバックでは、継続のためのコールバックを渡します。

deferred では、.then をデイジーチェーン接続し、継続のために無名関数を渡します。とても似ている。

Angular には deferred を特別に考慮する機能があるため、deferred を使用することをお勧めします。

スコープ変数を deferred に設定すると、Angular はその deferred.promise が解決されるまで待機するのに十分スマートです。解決されると、Angular は変数にバインドします。それはかなり素晴らしいです。それを受け入れることをお勧めします。

于 2013-07-03T17:06:35.480 に答える