7月22日-奇舞团关于when.js与promise的分享

关于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规范来更好的实现这样的需求。

posted @ 2013-07-29 14:38  Bug罗  阅读(2888)  评论(0编辑  收藏  举报