相关疑难解决方法(0)

如何在rxjs中返回一个空的observable

该函数more()应该Observable从get请求返回一个

export class Collection{

    public more = (): Observable<Response> => {
       if (this.hasMore()) {

         return this.fetch();
       }
       else{
         // return empty observable
       }
    }

    private fetch = (): Observable<Response> => {
       return this.http.get('some-url').map(
          (res) => {
              return res.json();
          }
       );
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我只能做一个请求,如果hasMore()是真的,否则我在subscribe()函数上得到一个错误subscribe is not defined,我怎么能返回一个空的observable?

this.collection.more().subscribe(
   (res) =>{
       console.log(res);
   },
   (err) =>{
       console.log(err);
   }
)
Run Code Online (Sandbox Code Playgroud)

更新

在RXJS 6中

import { EMPTY } from 'rxjs'

return EMPTY; 
Run Code Online (Sandbox Code Playgroud)

javascript observable rxjs typescript

139
推荐指数
9
解决办法
11万
查看次数

标签 统计

javascript ×1

observable ×1

rxjs ×1

typescript ×1