이번에는 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 사용에 대한 자세한 설명
위 내용은 Rxjs 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!