2017-08-28 4 views
0

私は、Observableとして登録しようとしているサービスファイルを持っています。しかし、それは動作していない、何が間違っている?角2/4は、javascript配列オブジェクトを呼び出すとObservableを取得しようとしています。

サービス:Tracker.service.ts

getAllCoins(): (Observable<string>) { //<Response> { 
    return allC 
     .map(res => JSON.stringify(res)) 
     //.do(data => console.log('coins ' + JSON.stringify(data))) 
     //.catch(this.handleError) 
} 

それのこの観察できるが、(
は、以前私がREAL URLを使用して、私はFYI http.getを使用し、それが働いて好きではないここで私の機能けれども、異なるコード化された)

私のJSONデータ:

const allC = 
[{ 
    "BTC": { 
     "USD": 3349.1 
    }, 
    "ETH": { 
     "USD": 296.3 
    }, 
    "LTC": { 
     "USD": 47.56 
    }, 
    "EOS": { 
     "USD": 1.83 
    }, 
    "DASH": { 
     "USD": 195.83 
    } 
}] 

次のI SEそれを購読しようとします。

コンポーネントファイル

coinsList = []; 

constructor(
    private coinService: TrackerService 
) { 
    this.coinService.getAllCoins() 
     .subscribe(
     (data) => { 
      for (let key in data) { 
       this.coinsList.push({ coinName: key, price: data[key].USD}); 
      } 
     }, 
     (error) => console.log('error :' + error) 

     ); 
} 
+0

にあなたのタイトルはプレタポルテです非常に理解できない。 Observablesは何も購読していません。彼らは** **に登録されています。 「JavaScript配列オブジェクト」に登録することはできません。あなたは**観測可能な**だけを購読することができます。 「サービスファイル」は観測可能にすることはできません。これは単なるファイルです。 –

+0

私は殴られるべきです。申し訳ありませんが –

答えて

0

Pengyyが正しい。私は彼の雷を盗むことを望まないが、彼は提案として私がするだろうが、その後ALSO (Observable<string>)(Observable<Response>)

  1. にあなたのコンポーネントファイルが
  2. Observable.of(ALLC)を使用
  3. の変更を正常に見えます

    getAllCoins(): (Observable<Response>) { 
        return Observable.of(allC) 
         .map(res => JSON.stringify(res)) 
         //.do(data => console.log('coins ' + JSON.stringify(data))) 
         //.catch(this.handleError) 
    

    }

+0

はい、それは確かに男の仕事をしました –

2

(かかわらず、異なるコード化された)以前私はREAL URLを使用して、私はFYI http.get使用し、それが働いた

http.getが返すからですObservable。


Array.mapObservable.mapオペレータは異なります。

  • Array.mapは、配列を返すhere表示されます。
  • Observable.mapはObservableを返します。

最初にObservableを提供するには、Observable.of(arr)を使用する必要があります。

Observable.of(allC) 
+0

ああ、私はそれを実現しようとしていない –

+0

ので、私はこのコード 'Obserable.of(allC)を持って解決した.map ....しかし、(Observable )の部分についてはどうすればそれを修正するか教えていただけますか? –

+0

@JeremyMillerは 'Observable 'を代わりに使用します。戻り値の型は、返すデータ型と同じでなければなりません。 – Pengyy

関連する問題