欢迎来到天天文库
浏览记录
ID:30507917
大小:21.66 KB
页数:18页
时间:2018-12-30
《使用promise解决多层异步调用的简单学习心得》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解使用Promise解决多层异步调用的简单学习心得 下面小编就为大家带来一篇使用Promise解决多层异步调用的简单学习心得。小编觉得挺不错的,现在分享给大家,也给大家做个参考。 前言 第一次接触到Promise这个东西,是XX年微软发布Windows8操作系统后抱着作死好奇的心态研究用html5写Metro应用的时候。当时配合html5提供的WinJS库里面的异步接口全都是Promise形式,这对那时候刚刚毕业
2、一点javascript基础都没有的我而言简直就是天书。我当时想的是,微软又在脑洞大开的瞎捣鼓了。 结果没想到,到了XX年,Promise居然写进ES6标准里面了。而且一项调查显示,js程序员们用这玩意用的还挺high。 讽刺的是,作为早在XX年就在Metro应用开发接口里面广泛使用Promise的微软,其自家浏览器IE直到XX年寿终正寝了都还不支持Promise,看来微软不是没有这个技术,而是真的对IE放弃治疗了。。。 现在回想起来,当时看到Promise最头疼的,就是初学者看起来匪夷所思,也是最被js程序员广为称道的特性:then函数调用链。对
3、党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 then函数调用链,从其本质上而言,就是对多个异步过程的依次调用,本文就从这一点着手,对Promise这一特性进行研究和学习。 Promise解决的问题 考虑如下场景,函数延时2秒之后打印一行日志,再延时3秒打印一行日志,再延时4秒打印一行日志,这在其他的编程语言当中是非常简单的事情,但
4、是到了js里面就比较费劲,代码大约会写成下面的样子: varmyfunc=function(){ setTimeout(function(){ console.log("log1"); setTimeout(function(){ console.log("log2"); setTimeout(function(){ console.log("log3"); },4000); },3000); },XX); } 由于嵌套了多层回调结构,这里形成了一个典型的金字塔结构。如果业务逻辑再复杂
5、一些,就会变成令人闻风丧胆的回调地狱。对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 如果意识比较好,知道提炼出简单的函数,那么代码差不多是这个样子: varfunc1=function(){ setTimeout(func2,XX); }; varfunc2=function(){ console.log("log1")
6、; setTimeout(func3,3000); }; varfunc3=function(){ console.log("log2"); setTimeout(func4,4000); }; varfunc4=function(){ console.log("log3"); }; 这样看起来稍微好一点了,但是总觉得有点怪怪的。。。好吧,其实我js水平有限,说不上来为什么这样写不好。如果你知道为什么这样写不太好所以发明了Promise,请告诉我。 现在让我们言归正传,说说Promise这个东西。 Promise的描述对党
7、的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 这里请允许我引用MDN对Promise的描述: Promise对象用于延迟(deferred)计算和异步(asynchronous)计算.。一个Promise对象代表着一个还未完成,但预期将来会完成的操作。 Promise对象是一个返回值的代理,这个返回值在promise对象创建时未必已知
8、。它允许你为异步操作的成功或失败指定处理方法。这使得异步方法可以像同步方法那样返
此文档下载收益归作者所有