如果有的话,确定通知可观察价值的订户的顺序是什么?
看下面的GitHub问题,似乎没有可靠的订单。 https://github.com/knockout/knockout/issues/553
然而,单步执行代码我看到notifySubscribers()使用forEach()所以不应该按照添加到数组的顺序通知订阅者?
不幸的是,Chrome中的情况似乎并非如此。如果需要,我可以提供代码,但这些似乎更像是Knockout或我缺失的一般概念性事物。
答案 0 :(得分:4)
我通过将订单敏感代码添加到单个观察者函数来解决了这个问题。即,仅通过handleValueChange()观察观察值,然后以所需顺序调用所有内容。
我从中得到的结论是,这里使用的观察模式非常适合更新视图,但对于构建命令式业务逻辑并不是那么好。
答案 1 :(得分:1)
您无法可靠地确定通知订阅者的顺序。您的订阅者应该是独立的,而不是依赖于其他订阅者,IMO。