3

如果有的话,什么决定了通知可观察值的订阅者的顺序?

查看下面的 GitHub 问题,似乎没有可靠的顺序。 https://github.com/knockout/knockout/issues/553

但是,单步执行代码我看到 notifySubscribers() 使用 forEach() 所以它不应该按照订阅者添加到数组的顺序通知订阅者吗?

不幸的是,我在 Chrome 中似乎并非如此。如果需要,我可以提供代码,但这些似乎更像是 Knockout 或我缺少的一般概念性的东西。

4

2 回答 2

4

我通过将我的订单敏感代码添加到单个观察者函数来解决了这个问题。即,观察值仅由 handleValueChange() 观察,然后按所需顺序调用所有内容。

我从中得出的结论是,这里使用的观察模式非常适合更新视图,但对于构​​建命令式业务逻辑不太好。

于 2013-06-23T16:27:33.013 回答
1

您无法可靠地确定通知订阅者的顺序。您的订阅者应该是独立的,而不是依赖于其他订阅者,IMO。

于 2013-06-21T18:54:29.280 回答