2017-04-13 5 views
0

Angular 1.5に基づいてECMA 5に書かれている私のプロジェクトでは、Rxjsを使用したいと思います。私は、約束に基づいてObservablesを実装したいという私のサービス方法を書き直したいと思います。Observable of Angular 1.5に基づいたシンプルなサービス

私は私のサービスでは、このようなSTH書く:

function service(Restangular) { 

    var self = this; 

    self.user = new Rx.Subject(); 

    var service = { 
     artistStream: artistStream, 
    }; 



    function artistStream(artist) { 
     self.user.onNext({ 
      data : Restangular 
        .all('text/') 
        .customGET('search', {q : artist}) 
     }); 
    } 


    return service; 
} 

をそして私はこのように私のコンポーネントでは、このサービスの使用を試してみました:

 function testRx(artist) { 

      console.log(artistService.artistStream(artist)); 

     } 

私はコンソールからエラーを取得:

TypeError: self.user.onNext is not a function

私は間違っていますか? Observablesを使用するのは初めてのことです

答えて

2

Ok、サービスを書き直して正常に動作します。

 function artistStream(artist) { 

     const promise = Restangular 
        .all('text/') 
        .customGET('search', {q : artist}) 

     const subscription = Rx.Observable.fromPromise(promise); 

     return subscription; 

    } 
関連する問題