作家
登录

不使用JS匿名函数的三个理由

作者: 来源: 2017-12-25 15:04:05 阅读 我要评论

  •          return resolve(true); 
  •       } 
  •       return resolve(false); 
  •     } catch (e) { 
  •       reject(e); 
  •     } 
  •   }); 
  •  
  • initiate(true
  •   .then(res => { 
  •         if (res) { 
  •           doSomethingElse(); 
  •         } else { 
  •           doSomething(); 
  •         } 
  •   ).catch(e => { 
  •             logError(e.message); 
  •             restartApp(); 
  •           } 
  •   ); 
  • 这是一个异常不正常的例子,然则我信赖你已经明白我要说什么了。我们反悔了一个promise办法,我们用这个promise对象/办法处理不合的响应。

    你也许会认为几段代码读起来并不难,但我认为它们可以变得更好!

    如不雅我们去掉落所有的匿名函数会如何呢?

    1. function initiate (arguments) { 
    2.   return new Promise(checkForArguments); 
    3.  
    4. function checkForArguments (resolve, reject) { 
    5.   try { 
    6.     if (arguments) { 
    7.      return resolve(true);    
    8.     } 
    9.     return resolve(false); 
    10.   } catch (e) { 
    11.     reject(e); 
    12.   } 
    13.  
    14. function evaluateRes (res) { 
    15.   if (res) { 
    16.     doSomethingElse(); 
    17.   } else { 
    18.     doSomething(); 
    19.   } 
    20.  
    21. function handleError (e) { 
    22.   logError(e.message); 
    23.   restartApp(); 
    24.  
    25. initiate(true
    26.   .then(evaluateRes) 
    27.   .catch(handleError); 

    好,先讲清跋扈:这部分代码更长,但我不认为只是增长了可读性!我们精心定名的函数与匿名函数不一样,只要我们一看到它们的名字就知道它们的功能是什么。这避免了在评估代码时出现心理障碍。


      推荐阅读

      回顾2017, Java有哪些重大变化值得关注?

    在以前的一年中,Java 历经了很多变更。在本年事首?年代,Java EE 处于一个不肯定的状况,Java 9 版本也推迟了它的宣布日期。在 2016 年的 JavaOne 上,甲骨文宣布懂得决平台的筹划和 Java SE 9 和 O>>>详细阅读


    本文标题:不使用JS匿名函数的三个理由

    地址:http://www.17bianji.com/lsqh/40146.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)