1

私は fixer.io と money.js を使用して通貨を変換しています。money.js は通貨を変換するために使用され、fixer.io は最新の為替レートを取得する API です。最新の為替レートを money.js レート オブジェクトに読み込む必要があります。

angular を使用しているため、money.js は次のようにロードされます。

var fx = require("money");

変換が機能するためには、次のように定義する必要がfx.baseありfx.ratesます。

fx.base = "USD";
fx.rates = {
    "EUR" : 0.745101, // eg. 1 USD === 0.745101 EUR
    "GBP" : 0.647710, // etc...
    "HKD" : 7.781919,
    "USD" : 1,        // always include the base rate (1:1)
    /* etc */
} 

fx.ratesただし、 GET リクエストから fixer.io API に入力される ハードコーディングされたデータではなく、次の JSON が返されます: http://api.fixer.io/latest

私はAngularの初心者なので、json応答を別のjsonオブジェクトにロードする方法がわかりません。

次のようなことを行う正しい方法は何ですか:

var response = $http.get("http://api.fixer.io/latest");
fx.rates = response;
4

1 に答える 1

2

Angularのhttppromiseを使用すると、非常に簡単です。promise を処理するには、.thenメソッドを使用します。必要なのは、データを処理するためのコールバック関数だけです。:

var response = $http.get("http://api.fixer.io/latest");

//handle promise
response.then(function(response) {
  //this is response from the api fixer. The data is the body payload
  fx.rates = response.data;
}, function(error) {
  //handle error here, if there is any.
});

必要に応じて、ここに作業用の plnkrがあります。

于 2016-12-14T01:40:13.010 に答える