Programing

rxjs로 최종과 최종의 차이점

c10106 2022. 3. 24. 21:23
반응형

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을 사용하는shareReplayHTTP 호출을 재시도하지 않고 여러 구성 요소 간에 공유.배치하면finalize전에shareReplay단 한 번만 호명할 것이다(그 이유는fetch한 번만 완료된다) 그러나 다음에 배치하면 shareReplay, 그것은 다음과 같이 가입자당 한 번 호출될 것이다.shareReplay각 가입자에 대한 자체 최종 결정으로 관찰 가능한 항목을 작성한다.

참조URL: https://stackoverflow.com/questions/50276665/what-is-the-difference-between-finally-and-finalize-in-rxjs

반응형