关于when.js的使用见屈屈的分享

http://www.imququ.com/post/promises-when-js.html

关于promise的实现见月影的分享

http://www.wumii.com/item/18c3poL1y

两位都是360前端知名的大牛,他们的分享已经写的非常深入了。我就不再重复一遍了。

但是听完,总该留下点什么。

那么我关注两个东西:

1.when.js的适用场景。
  http://yiminghe.iteye.com/blog/1396751

  我写过一个小游戏,http://se.360.cn/weiboapp/crazy/game.html,如果在选择错误的情况下就会闪烁三下。

  那么这个过程是这样的:1.禁用答题框的可删功能 2.闪烁3次  3.打开答题框内容可删功能

  如果没有用when.js我们的代码大概是这样:

  disable();

  for(var i=0;i<3;i++)

   (function (){settimeout(function(){

    xxx(i);

  },1000);)}()

settimeout(function(){enable},3000);

如果我们使用了when.js之后:

代码就变成了

  defer.promise.then(disable()).then(blink()).then(enable);

还有一个关键的点:

  如果在blink()失败后,enable依然会执行。

2.promise的规范怎么用。

http://yiminghe.iteye.com/blog/1396751

这篇文章总结的不错。

ajax 和 domready之后的事情我们通常都会把他们写在一起,这样用来按需加载他们。

但如果(function(){

a();

b();

c();

})显然非常的不语义化。

他们到底是并行还是串行执行?

所以我们用promise规范来更好的实现这样的需求。

最新文章

  1. 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案
  2. percona5.7 源码安装
  3. IntelliJ IDEA 编译方式介绍
  4. 用javascript在客户端删除某一个cookie键值对
  5. python二叉树递归算法之后序遍历,前序遍历,中序遍历
  6. linux消息队列操作
  7. hive环境的搭建
  8. Delphi十进制和十六进制互转
  9. spring xml 空模板-applicationContext.xml
  10. c#中的数据类型简介(委托)
  11. Docker存储驱动之Btrfs简介
  12. nginx负载均衡2
  13. python基础——正则表达式
  14. maven-编译速度优化
  15. SQLServer中重建聚集索引之后会影响到非聚集索引的索引碎片吗
  16. linux下rename用法--批量重命名
  17. javascript 获取随机数
  18. SuSE的命令安装软件 zypper
  19. android自定义view之---组合view
  20. mysql及python交互

热门文章

  1. linux_增加用户组_删除用户
  2. UML九种图汇总
  3. Visual Studio-Sequence Diagram
  4. nginx基础入门
  5. ajax提交与上传文件同步
  6. javascript继承—继承的实现原理(1)
  7. 採用Hexo 搭建Team Blog
  8. Net社区虚拟大会
  9. 省钱加油(Fuel Economy)题解
  10. ORACLE 中极易混淆的几个 NAME 的分析和总结