是否有可能等到ViewModel中所有受限制的计算的observable都被评估。
我有一个沉重的ViewModel,有很多这样的可观察对象。有时我需要在从JSON填充它之后立即得到它的简单JS表示,但是当我尝试这样做时,一些可观察对象尚未被评估。
我试图实现一种异步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();
}