2016-10-27 2 views
-1

У меня проблема с json \ object Я пытаюсь вытащить данные из него, и я потерпел неудачу.читать JSON с помощью angular2

У меня есть этот API, что я тянуть мои данные: http://api.fixer.io/latest?base=CAD

Я поставил его на переменную results, Если я хочу, чтобы добраться до объекта дата В параметре, база, ставка, как показано ниже:

calc(details) { 
    let results = [this.networkServices.getCurrency(details)]; // object is here "getCurrency deal with the GET request. 
    alert(results.base); 
} 

я получаю код ошибки:

[02:58:36] transpile update started ... 
[02:58:38] typescript: D:/ionic/firstApp/src/pages/currency/currency.ts, line: 19 
      Property 'base' does not exist on type 'Promise<any>[]'. 

     L18: let results = [this.networkServices.getCurrency(details)]; 
     L19: alert(results.base); 

[02:58:38] transpile update failed 

Его чувствовать странно, что я не могу вытащить данные, что это может быть?

получить ВАЛЮТА функцию

getCurrency(obj){ 
    console.log("function fired!") 
    let url = `http://api.fixer.io/latest?base=${obj.selectedCurrency}`; 
    return this.http.get(url).toPromise().then(res => res.json()); 
    } 
+0

Обновите с помощью метода getCurrency() из сетевых сервисов –

+0

Что это связано с Angular? Что это связано с JSON? –

ответ

1

Запрос на обслуживание является асинхронным поэтому результатом запроса является обещание, что решает на объект, а не сам объект. Попробуйте что-то вроде этого:

this.networkServices.getCurrency(details).then(result => alert(result)) 
+0

angular2 didnot accept. Then, его отметьте его красным цветом. – itzikb

+0

Какая ошибка? – pe8ter

2

Попробуйте обновить ваш getCurrency() просто вернуть обещание, удалив then():

getCurrency(obj){ 
    console.log("function fired!") 
    let url = `http://api.fixer.io/latest?base=${obj.selectedCurrency}`; 
    return this.http.get(url).toPromise(); 
    } 

Тогда решение от @ pe8ter должно работать:

this.networkServices.getCurrency(details).then(result => alert(result))

Смежные вопросы