2013-06-21 51 views
3

什么,如果有的话,确定通知可观察价值的订户的顺序?通知订户时的订单

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

然而,通过代码步进我看到notifySubscribers()使用的forEach(),所以它不应该通知用户在他们被添加到阵列的顺序?

不幸的是,这在我看来并不适用于Chrome。如果需要,我可以提供代码,但这些似乎更像是Knockout或我缺少的一般概念性事物。

回答

4

我通过将我的命令敏感代码添加到单个观察者函数来解决此问题。也就是说,只有通过handleValueChange()才能看到观察值,然后handleValueChange()以所需顺序调用所有内容。

我从这个外卖是,这里使用的观察模式是伟大的更新视图,但没有那么大的构建必不可少的业务逻辑。

1

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

+0

你知道为什么现在不可能吗?我对forEach有错吗? 一般情况下,我同意你的看法,但在这种情况下,我需要.isDirty扩展率先开炮。之后,这一切都是独立的。 – Jelling