0
が私の角アプリケーションにクライアントを提供するために、ここに私のコードです:ブラウザにクライアントを設定すると、動的
app.service('client', function (esFactory) {
var elasticserver='elasticHost:9200';
return esFactory({
host: elasticserver,
log: 'warning'
});
}
);
しかし、私の目的は、このサービスに動的にホスト名とポートを提供することです。
どのように達成するには?
おかげ
UPADTE
サーバー名とポートは、データベースに格納されています。 私はhttp呼び出しでこれらの値を取得しようとしていました。
コードの下に。
行6では、elasticserver変数にサーバ名とポート の連結が含まれていますが、11行目ではelasticserver変数は空です。
app.service('client', function (esFactory, $http) {
var elasticserver = "";
$http.get("angularAction").success(
function(data) {
elasticserver = data['serverName']+":"+data['port'];
alert("elasticserver : "+elasticserver);
}).error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
alert("elasticserver : "+elasticserver);
return esFactory({
host: elasticserver,
log: 'warning'
});
}
);
...何に応答してですか? – Quentin
重複:http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – Quentin
ありがとうクエンティン私は今なぜそれが私のために働かないのか理解しています。 コールバックや約束を使用して、このケースに対する解決策の例を教えていただけますか? – kkung