发表于: 2017-01-16 23:40:22

2 1291


今天完成的事情:继续补充angular的基础知识


明天计划的事情:说了好几天要实现的搜索功能还没实现,简直生无可恋。


遇到的困难:主要是搜索这一块还有很大的问题


收获:

Promise的含义:Promise是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理更强大。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件 (通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise对象代表一个异步操作,有三种状态:Pending(进行中)Resolved(已完成)Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。有了Promise对象,就可以把异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
由于$http方法返回一个promise对象,我们可以在响应返回时用then方法来处理回调。
promise.then(function(resp){
//resp是一个响应对象
},function(resp){
//带有错误信息的resp
});
我们知道JavaScript语言的执行环境是“单线程”,所谓单线程,就是一次只能够执行一个任务,如果有多个任务的话就要排队,前面一个任务完成后才可以继续下一个任务。这种“单线程”的好处就是实现起来比较简单,容易操作;坏处就是容易造成阻塞,因为队列中如果有一个任务耗时比较长,那么后面的任务都无法快速执行,或导致页面卡在某个状态上,给用户的体验很差。
当然JavaScript提供了“异步模式”去解决上述的问题,关于“异步模式”JavaScript提供了一些实现的方法。
  • 回调函数(callbacks)
  • 事件监听
  • Promise对象
第一:lazyLoad简介及作用:
网站性能优化的插件,提高用户体验。
页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载。
第二:使用场合
 涉及到图片,falsh资源,iframe,网页编辑器(CK),JS文件 等占用较大带宽,避免网页打开时加载过多资源,让用户等待太久。
第三:代码使用1.导入JS插件2.在你的页面中加入如下:
<script type="text/javascript">    $("img").lazyload();   </script>
所以图片都延迟加载。
3.设置敏感度区域
插件提供了 threshold 选项

$("#xd").lazyload({ threshold : 200 })

晚上听二大君分享了什么是富文本编辑器,还没有深入的学过,等要用的时候在去详细看看吧




返回列表 返回列表
评论

    分享到