rxjs로 최종과 최종의 차이점
나는 사용하고 있다RxJS
그리고 나는 2가지 기능이 있는 것을 볼 수 있다.RxJS 5.5.2
이용할 수 있는이다.finally
제거될 것이고 그것은 옆으로 놓일 것이다.pipe()
로부터RxJS 6.0.0
병동에 이유가 있는거야 아니면 다른 변화가 있는거야?
둘 다 같은지 그리고 이제 마지막 통화가 안에 있는지 여부pipe()
?
아니면 눈에 띄는 차이점이 있나?
최종 결정하다
method()
.pipe(
finalize(() => {
// do some operation
})
)
종국에는
method()
.finally(() => {
// do your operation
})
두 기능 모두 동일한 기능이며, 관찰이 가능한 경우 호출의 동일한 작업을 수행하지만, 차이점은 사용 중인 rxj의 버전이다.
v5.5 이전에 마지막으로 호출됨
v5.5부터는 더 나은 트리 흔들림을 도와주는 파이프 가능 연산자를 도입했기 때문에 (키워드 제한으로 인해) 최종으로 이름이 변경된다.자세한 내용은 이 링크를 확인하십시오.
그들은 매우 비슷하지만 내가 생각할 수 있는 한 가지 주목할 만한 차이점이 있다. finalize
(운전자라는 덕택에) 막바지에 있을 필요는 없다.pipe
. 이것은 대수롭지 않게 보일 수도 있지만, 체인의 뒤에 어떤 운영자가 있느냐에 따라 차이가 있을 수 있다.
예를 들어, a의 체인을 고려하십시오.fetch
을 사용하는shareReplay
HTTP 호출을 재시도하지 않고 여러 구성 요소 간에 공유.배치하면finalize
전에shareReplay
단 한 번만 호명할 것이다(그 이유는fetch
한 번만 완료된다) 그러나 다음에 배치하면 shareReplay
, 그것은 다음과 같이 가입자당 한 번 호출될 것이다.shareReplay
각 가입자에 대한 자체 최종 결정으로 관찰 가능한 항목을 작성한다.
'Programing' 카테고리의 다른 글
부에루터:TypeError: 이것._불쌍한init는 함수가 아님 (0) | 2022.03.24 |
---|---|
Vue.js에서 어레이 정렬 (0) | 2022.03.24 |
반응성에 .gitignore 권장 (0) | 2022.03.24 |
TypeScript 오류: 속성 'X'가 'Window' 유형에 없음 (0) | 2022.03.24 |
구성 요소 외부에서 Vue.js 구성 요소 메서드를 호출하십시오. (0) | 2022.03.24 |