Knockout.js KnockoutJS:等待所有限制的计算观察值被评估
是否有可能等到评估ViewModel中所有节流计算的观测值 我有一个很重的ViewModel,里面有很多这样的观测值。有时,我需要在从JSON填充后立即获得它的纯JS表示,但当我尝试这样做时,一些观察值还没有被计算 我曾尝试实现一种异步的Knockout.js KnockoutJS:等待所有限制的计算观察值被评估,knockout.js,throttling,Knockout.js,Throttling,是否有可能等到评估ViewModel中所有节流计算的观测值 我有一个很重的ViewModel,里面有很多这样的观测值。有时,我需要在从JSON填充后立即获得它的纯JS表示,但当我尝试这样做时,一些观察值还没有被计算 我曾尝试实现一种异步的toJS,但它没有按预期工作。我是做错了什么还是根本不可能 toJSasync = function (vm) { var deferred = $.Deferred(), waiter = ko.computed(function () {
toJS
,但它没有按预期工作。我是做错了什么还是根本不可能
toJSasync = function (vm) {
var deferred = $.Deferred(),
waiter = ko.computed(function () {
return ko.toJS(vm);
});
deferred.resolve( waiter() );
deferred.always(function () {
waiter.dispose();
});
return deferred.promise();
}
在计算机中解决延迟问题。您正在立即解决延迟问题,这将导致触发done函数。将解析移到computed函数中。在创建过程中,computed将被评估以检测依赖项。如果我将“resolve”移到内部,它将立即得到解决。您可以发布一个示例viewmodel吗?