KnockoutJS:等待所有受限制的计算可观察量被评估

时间:2013-04-11 09:16:50

标签: knockout.js throttling

是否有可能等到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();
}

0 个答案:

没有答案