【发布时间】:2015-03-27 08:40:58
【问题描述】:
我需要在淘汰赛中暂停订阅。 原因是,在 observable 发生变化后,有时需要改变它的值,并且订阅它最终会以递归方式结束。
我发现了以下内容 SuspendableSubscription
但我真的不知道如何使用它。
我的代码是
this.SearchParam.ProjectTypes.suspendableSubscribe(changeProjectType);
//....
function changeProjectType() {
// my changes on this.SearchParam.ProjectTypes observable
}
但是如何暂停订阅以防止递归调用 changeProjectType?
或者也许我在工作中使用了错误的工具,但有更好的选择?
谢谢
【问题讨论】:
-
如果您需要包含在更新时更改可观察对象的逻辑,也许您应该改用writable computed observable
-
可能是限速可观察通知 (knockoutjs.com/documentation/rateLimit-observable.html) 对您有帮助吗?在早期它是“节流”扩展器。
-
请更新您的问题,对您想要使用此功能的场景进行最少的复制。没有它,我们将无法帮助您解决实际问题。
标签: knockout.js subscription observable