Angularjs 基于角度为1.5的可观测的简单服务

Angularjs 基于角度为1.5的可观测的简单服务,angularjs,rxjs,Angularjs,Rxjs,我想在我的项目中使用Rxjs,该项目基于Angular 1.5,用ECMA 5编写。我想重写基于承诺的服务方法,并希望实现可观察性 在我的服务中,我写了这样的东西: function service(Restangular) { var self = this; self.user = new Rx.Subject(); var service = { artistStream: artistStream, }; fun

我想在我的项目中使用
Rxjs
,该项目基于
Angular 1.5
,用
ECMA 5
编写。我想重写基于承诺的服务方法,并希望实现可观察性

在我的服务中,我写了这样的东西:

    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不是函数


我做错了什么?这是我第一次使用Observable

好的,重写服务并正常工作

        function artistStream(artist) {

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

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

        return subscription;

    }

好的,重写服务并正常工作

        function artistStream(artist) {

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

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

        return subscription;

    }