我正在研究Flux的Dispatcher.js是如何实现的,这引发了一些问题,因为我理解javascript是单线程的:
isDispatching()
除false
之外还会返回任何内容吗? _isDispatching
标志在dispatch()
的开头设置,然后在方法结束之前重新设置为false
。如果只有一个线程执行Dispatcher
,还有什么可以调用isDispatching()
?
同样,每次回调都不是_isPending
和_isHandled
布尔都是多余的?
答案 0 :(得分:0)
它们作为检查来阻止回调立即再次发送(导致无限循环)。
尝试描述如果其中一个侦听器在前一个调度仍然循环this._callbacks
时调用了调度会发生什么