作家
登录

JavaScript异步与Promise实现

作者: 来源: 2017-05-12 10:49:32 阅读 我要评论

  •            return value; 
  •        }; 
  •        onRejected = onRejected || function(reason) { 
  •            // 默认的拒绝回调 
  •            return reject(reason); 
  •        }; 
  •  
  •        if (tasks) { 
  •            // 未决定时参加队列 
  •             tasks.push(onFulfilled); 
  •             rejectTasks.push(onRejected); 
  •        } else { 
  •            // 已决定,直接参加事宜轮回履行 
  •             nextTick(() => { 
  •                 if (state === 'resolved') { 
  •                     value.then(onFulfilled); 
  •                 } else if (state === 'rejected') { 
  •                     value.then(onRejected); 
  •                 } 
  •             }); 
  •        } 
  •  
  •        return this; 
  •    };  
  • 实例

    1. var promise = new MyPromise((resolve, reject) => { 
    2.        setTimeout(() => { 
    3.            resolve('完成'); 
    4.        }, 0); 
    5.    }); 
    6.    promise.then((msg) => {console.log(msg);});  

    本篇由回调函数起,介绍了回调剂理异步义务的常见问题,然后介绍Promises/A+规范及Promise应用,最后就Promise实现做了简单阐述(之后有机会会具体实现一个Promise),花费一周终于把根本常识点介绍完,下一篇将介绍JavaScript异步与生成器实现。

    参考

    1. Promises/A+ specification
    2. JavaScript Promise 

    【编辑推荐】

    1. 基于Python和JavaScript编写物联网温度计法度榜样
    2. Prepack——JavaScript代码优化对象
    3. 关于Web Workers你须要懂得的七件事
    4. WebGL和Three.js工作道理图解
    5. BOOM:一款有趣的Javascript动画效不雅
    【义务编辑:枯木 TEL:(010)68476606】

      推荐阅读

      开源SDN解决方案如何确保网络拓扑无缝切换?

    电信运营商(Telcos)和收集办事供给商(ISP)面对着应用动态拓扑调剂的挑衅,以确保连接的稳定性和持续性。这意味>>>详细阅读


    本文标题:JavaScript异步与Promise实现

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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