虽说angular都快出2.0了,到了2.0这些东东都会被干掉。不过我们眼前的事还是要处理。

$evalAsync和$timeout到底什么区别,网上说法很多,最近看到的是说在directive里就怎么怎么,在controller里就怎么怎么。

可我只是用在一个事件的回调函数里,算那种呢?挺乱的。还是自己查查源码算了。

$timeout比较好理解,就是在所有事情处理完,包括浏览器渲染也做完,在调度队列末尾插入我们要执行的代码。所以通过timeout来调用,肯定会很晚执行。

$evalAsync,其实要注意的是这个不是一个全局方法,调用的时候写的是'$scope.$evalAsync',有这个scope的作用域的。源码里面在digest方法里是这样子滴:

digest:

....

while(asyncQueue.length || isDirty){

  处理asyncQueue

  递归处理scope上的dirty check

}

可见,如果某一次dirty check时,调用了一次evalAsync,把要执行的代码放到了asyncQueue,那就总要等到这一个tick的dirty check做完,下一个tick开始的时候才会执行。

最新文章

  1. C#中日期和时间相加的方法
  2. 关于xml配置实现AOP的小知识
  3. python操作mysql数据库的相关操作实例
  4. 枚举GC Roots的实现
  5. hdu4436-str2int(后缀数组 or 后缀自动机)
  6. 为知笔记markdown插件安装
  7. HTML 脚本
  8. CF #349 div1 B. World Tour
  9. JAVA基础——Arrays工具类十大常用方法
  10. spark调用hdfsAPI
  11. 探索 | “中医+AI”会诊电力设备故障
  12. 前端nginx+Java后台ftp处理页面图片上传踩坑
  13. 【Spring】23、ApplicationContext ,ApplicationContextAware,Listener,Event 的关系解读
  14. myeclipse提示错误。
  15. hibernate的findByExample 外键参数查询解决方案
  16. [工作代码]dom4j解析实例
  17. JavaScript 之call , apply 和prototype 介绍
  18. ORACLE查询表最近更改的数据 VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE
  19. 【摘要】JavaScript 的性能优化:加载和执行
  20. Android支付接入之Google In-app-Billing

热门文章

  1. 照片元数据信息以及在照片中写入gps信息
  2. java MAVEN 项目出现红叉
  3. python模块学习心得
  4. LDO和DC-DC器件的区别
  5. 如何用Eclipse进行单元测试
  6. Java和.NET使用DES对称加密的区别
  7. JS正则表达式验证账号、手机号、电话和邮箱
  8. Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute'
  9. JS入门之ActiveXObject对象(转载)
  10. coreData数据操作