Rxjs 사용에 대한 자세한 설명

php中世界最好的语言
풀어 주다: 2018-03-12 15:46:00
원래의
2915명이 탐색했습니다.

이번에는 Rxjs 사용에 대한 자세한 설명을 가져오겠습니다. Rxjs 사용 시 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.

관찰 가능한 개체 를 실행하는 동안 0에서 무한까지 다음 알림이 전송됩니다. 오류 또는 완료 알림이 한 번 전송되면 이후에는 값이 전송되지 않습니다.

Observable 개체는 이 계약을 엄격하게 준수하므로 다음 코드는 4

var observable = Rx.Observable.create(function subscribe(observer) {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
observer.next(4); // Is not delivered because it would violate the contract});
로그인 후 복사

값이 포함된 다음 알림을 보내지 않습니다. 좋은 방법은 try/catch 문을 사용하여 알림 문을 래핑하는 것입니다. 예외가 발견되면 오류 알림이 표시됩니다. 전송됩니다.

var observable = Rx.Observable.create(function subscribe(observer) {try {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
} catch (err) {
observer.error(err); // delivers an error if it caught one}
});
로그인 후 복사

Unsubscribe unsubscribe()

관찰 가능한 객체의 실행은 무한(다음 연속)일 수 있지만 관찰자는 제한된 시간 내에 실행을 종료하려는 경우가 많기 때문에 실행을 취소하는 API가 필요합니다.

var observable = Rx.Observable.from([10, 20, 30]);var 구독 = observable.subscribe(x => console.log(x));// 나중에:subscription.unsubscribe();

구독한 후에는 진행 중인 실행을 나타내는 구독 개체를 받게 됩니다. 실행을 종료하기 위해 unsubscribe()를 사용하는 것을 두려워하지 마십시오.

관찰자

관찰자란 무엇인가요? 관찰자는 관찰 가능한 객체가 보낸 데이터의 소비자입니다. 간단히 말해서 관찰자는 관찰 가능한 객체에서 보낸 알림 유형(다음, 오류 및 완료)에 해당하는 콜백 함수 집합입니다. 다음은 일반적인 관찰자 개체의 예입니다.

var observer={next:x=>console.log('Observer got a next value: ' + x),error: err => console.error('Observer got an error: ' + err),complete: () => console.log('Observer got a complete notification')
}
로그인 후 복사

관찰자는 세 개의 콜백 함수 array로 구성된 개체일 뿐입니다. 각 콜백 함수는 관찰 가능한 개체의 알림 유형에 해당합니다.

Subscription

Subscription 개체를 함께 배치할 수도 있으므로 하나의 구독 개체에 대해 unsubscribe()를 호출하면 여러 구독을 취소할 수 있습니다. 방법은 하나의 구독을 다른 구독에 "추가"하는 것입니다.

var observable1 = Rx.Observable.interval(400);var observable2 = Rx.Observable.interval(300);var subscription = observable1.subscribe(x => console.log('first: ' + x));var childSubscription = observable2.subscribe(x => console.log('second: ' + x));
subscription.add(childSubscription);
setTimeout(() => {// Unsubscribes BOTH subscription and childSubscriptionsubscription.unsubscribe();
}, 1000);
로그인 후 복사

실행 후 콘솔에 들어갈 수 있습니다.

second: 0
first: 0
second: 1
first: 1
second: 2
로그인 후 복사

Subscription에는 추가로 추가된 하위 구독을 취소하는 데 사용되는 제거(otherSubscription) 메서드도 있습니다.

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트기타 관련 기사를 주목하세요!

관련 자료:

js-xlsx의 도구 라이브러리인 xlsxUtils 사용에 대한 자세한 설명

JS의 일상 공통 기능 통합

위 내용은 Rxjs 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿