作家
登录

30分钟,让你彻底明白Promise原理

作者: 来源: 2017-06-08 10:02:44 阅读 我要评论

        //如不雅then中没有传递任何器械 
  •  
  •         if(!callback.onResolved) { 
  •  
  •             callback.resolve(value); 
  •  
  •             return
  •  
  •         } 
  •  
  •   
  •  
  •         var ret = callback.onFulfilled(value); 
  •  
  •         callback.resolve(ret); 
  •  
  •     } 
  •  
  •   
  •  
  •      
  •  
  •     function resolve(newValue) { 
  •  
  •         if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { 
  •  
  •             var then = newValue.then
  •  
  •             if (typeof then === 'function') { 
  •  
  •                 then.call(newValue, resolve); 
  •  
  •                 return
  •  
  •             } 
  •  
  •         } 
  •  
  •         state = 'fulfilled'
  •  
  •         value = newValue; 
  •  
  •         setTimeout(function () { 
  •  
  •             callbacks.forEach(function (callback) { 
  •  
  •                 handle(callback); 
  •  
  •             }); 
  •  
  •         }, 0); 
  •  
  •     } 
  •  
  •   
  •  
  •     fn(resolve); 
  •  
  •  
  • 缺点冒泡是上述代码已经支撑,且异常实用的一个特点。在handle中发明没有指定异步操作掉败的回调时,会直接将bridge promise(then函数返回的promise,后同)设为rejected状况,如斯杀青履行后续掉败回调的效不雅。这有利于简化串行Promise的掉败处理成本,因为一组异步操作往往会对应一个实际功能,掉败处理办法平日是一致的:


      推荐阅读

      2017年上半年重大黑客事件盘点

    16. 美国法律论坛71万账户泄漏,涉国度安然局、FBI等本年4月,达拉斯紧急警备孀体系被黑客入侵。导致该城市的156个紧急戒备器被激活,警笛声持续一个小时,激发市平易近惊恐。 在以前的201>>>详细阅读


    本文标题:30分钟,让你彻底明白Promise原理

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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