이 함수 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();
}
);
}
}
이 경우 hasMore()
true 인 경우에만 요청을 할 수 있습니다 . 그렇지 않으면 subscribe()
function에 오류가 발생 subscribe is not defined
합니다. 빈 observable을 어떻게 반환 할 수 있습니까?
this.collection.more().subscribe(
(res) =>{
console.log(res);
},
(err) =>{
console.log(err);
}
)
최신 정보
RXJS 6에서
import { EMPTY } from 'rxjs'
return EMPTY;
답변
typescript의 경우 다음과 같이 빈 관측 가능의 일반 매개 변수를 지정할 수 있습니다.
import 'rxjs/add/observable/empty'
Observable.empty<Response>();
답변
RxJS 5.5+의 새로운 구문을 사용하면 다음과 같이됩니다.
// RxJS 6
import { empty, of } from "rxjs";
// rxjs 5.5+ (<6)
import { empty } from "rxjs/observable/empty";
import { of } from "rxjs/observable/of";
empty();
of({});
명심해야 할 것은 empty()
관찰 가능 항목을 완료 next
하여 스트림에서 트리거하지 않고 완료하는 것입니다. 예를 들어tap
원하는 경우 트리거되지 않을 수 있습니다 (아래 예 참조).
반면 값을 사용하여 다음을 of({})
생성하고 Observable
다음 값을 생성합니다 {}
.Observable
.
예 :
empty().pipe(
tap(() => console.warn("i will not reach here, as i am complete"))
).subscribe();
of({}).pipe(
tap(() => console.warn("i will reach here and complete"))
).subscribe();
답변
RxJS6 (호환성 패키지가 설치되지 않은 상태)
이제 EMPTY
상수와 empty
함수가 있습니다.
import { Observable, empty, of } from 'rxjs';
var delay = empty().pipe(delay(1000));
var delay2 = EMPTY.pipe(delay(1000));
Observable.empty()
더 이상 존재하지 않습니다.
답변
Angular2와 rxjs의 경우에는 다음과 같이 작동했습니다.
import {EmptyObservable} from 'rxjs/observable/EmptyObservable';
...
return new EmptyObservable();
...
답변
예, 빈 연산자가 있습니다
Rx.Observable.empty();
typescript의 경우 다음을 사용할 수 있습니다 from
.
Rx.Observable<Response>.from([])
답변
Empty Observable을 만드는 몇 가지 방법 :
그것들은 당신이 그것을 어떻게 더 사용할 것인가 (다음에 어떤 이벤트가 발생할지 : next
, complete
또는 do nothing
)에 따라 다릅니다 .
Observable.never()
-이벤트가 발생하지 않으며 끝나지 않습니다.Observable.empty()
-방출 만합니다complete
.Observable.of({})
–next
및complete
(예 : 빈 객체 리터럴이 전달됨)을 모두 방출합니다 .
정확한 요구에 사용하십시오)
답변
예를 들어 Observable.of (empty_variable)을 반환 할 수 있습니다.
Observable.of('');
// or
Observable.of({});
// etc
