javascript - 聚合物observe-js如何工作?

标签 javascript

我正在查看Polymers observe-js的代码,我不太明白它是如何工作的。我不是在谈论脏检查,而是在谈论它的调用 - 何时执行检查?

看起来魔法就在这里:

var runEOM = hasObserve ? (function(){
return function(fn) {
  return Promise.resolve().then(fn);
}
})() :
(function() {
  return function(fn) {
    eomTasks.push(fn);
  };
})();

由于 Promise.resolve().then(fn) 在回调堆栈末尾调用 fn,因此该行推迟了 fs,类似于 setTimeout(0, fn) 或 process.nextTick(fn)

但是 runEOM 从未在文件中使用!

有人能解释一下吗?

最佳答案

脏检查似乎是通过调用global.Platform.performMicrotaskCheckpoint接口(interface)方法从外部手动执行的:行792

我认为这个概念是在完成某些初始工作或该线索中的某些内容后手动通知观察者。

关于javascript - 聚合物observe-js如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31235273/

相关文章:

javascript - 当有人点击网站上的任何地方时,事件和焦点类将被删除

javascript - 维基百科 (API) "List_of"页面内容 - 解析为 JSON

javascript - window.screenX 正在使用所有监视器进行计算,如何获取当前监视器中窗口的 x 位置

javascript - JavaScript 中未命名的对象字面量

javascript - 使用 javascript 或 jquery 通过 get 将数据从一种表单推送到另一种表单

php - 将表单输入存储在 javascript 变量中,然后将其值传递到 php 变量中而不提交表单?

javascript - 在 : fixed div 位置设置 ScrollTop 动画

javascript - CSS 和 JavaScript 以内联方式出现在源代码中

javascript - BigQuery JavaScript UDF : Region of V8 instances

javascript - Laravel 发送 Json 到 Controller