gpt4 book ai didi

javascript - 跟踪 Knockout.js 订阅者

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:32 24 4
gpt4 key购买 nike

我在服务器上存储了大量的实时数据。层次结构永远不会改变,但值(value)不断变化。在我的客户端上,我将层次结构复制为 knockout 模型,并使用重复的 ajax 调用保持更新。

在任何时候,只有一小部分层次结构会显示在我的客户端中,因此我只想对当前显示的值进行 ajax 调用。

是否有一些“标准”方法来计算可观察对象的当前订阅者数量,或者更好的是,跟踪每个订阅者以测试其可见性?

谢谢!


感谢您对 getSubscriptions.Count() 的回复。这给了我一个解决方案——让 ajax 轮询功能在每次轮询时搜索订阅者的 View 模型。不过,我真正想做的是允许轮询函数在每次订阅数量从零变为/从零变化时得到通知,这样它就可以开始和停止轮询——这将需要更多的处理器-比每次都搜索 View 模型更有效。完美的是,如果可以有一个计算的可观察对象作为主可观察对象的子对象,比如“subscriptionsCount()”,然后轮询器(或任何其他人)可以订阅它。

我考虑过的另一种方法是将我的“值”包装在计算出的可观察对象中,如 http://www.knockmeout.net/2011/06/lazy-loading-observable-in-knockoutjs.html .. 这提供了一种在需要项目时通知轮询器的机制,但没有解决不再需要时通知轮询器的问题。

最佳答案

observable 上有方法 getSubscriptionsCount()

self.name = ko.observable("Mike");
//...
var numberOfSubscribers = self.name.getSubscriptionsCount();

JSFiddle DEMO

关于javascript - 跟踪 Knockout.js 订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20066695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com