Subject类的isStopped和close属性有什么区别?

时间:2018-09-28 19:38:10

标签: rxjs

<script language="javascript"> function changeImage() { if (document.getElementById("imgClickAndChange").src == "assets/img1.png") { document.getElementById("imgClickAndChange").src = "assets/img2.png"; } else if (document.getElementById("imgClickAndChange").src == "assets/img2.png") { document.getElementById("imgClickAndChange").src = "assets/img3.png"; } else if(document.getElementById("imgClickAndChange").src == "assets/img3.png"){ document.getElementById("imgClickAndChange").src = "assets/img1.png" } 具有2个属性Subjectclosed。我知道close可以用来检查isStopped是否仍然可以订阅,但是Subject到底应该用来做什么?

我之所以这样问,是因为我试图找到一种方法来知道BehaviourSubject的下一个操作何时完成。我可以使用isStopped还是将其用于其他用途?

1 个答案:

答案 0 :(得分:1)

closedisStopped的比较行为可以通过每次操作后的结果值来看到:

  • 发生错误时:
    • closedfalse
    • isStoppedtrue
  • 如果主题完成:
    • closedfalse
    • isStoppedtrue
  • 如果取消订阅:
    • closedtrue
    • isStoppedtrue

这不是穷举,只是显示了常见情况。