Skip to content

Latest commit

 

History

History
15 lines (14 loc) · 1.5 KB

README.md

File metadata and controls

15 lines (14 loc) · 1.5 KB
【411页】

7.5 简单显示异步处理 -Promise对象-

  在JavaScript中执行异步处理,有经典方法之一的回调函数(4.6.3)。目前为止,我们在setTimeout/setInteval方法、XMLHttpRequest对象等各方面使用了回调函数。回调函数也可以说是JavaScript方言。
  但是,如果有连续多个异步处理时,回调函数的嵌套就会很深,1个函数就会变得很臃肿。我们将这样的问题称为回调地狱。 image

……最开始执行的处理……
……first函数成功之后执行的处理……
……second函数成功之后执行的处理……
……最后执行的处理……

  Promise对象的功能就是解决这样的问题。使用Promise对象可以使这样的代码和同步处理一样来写。 image   虽然只是概念形式的代码,但是和嵌套很深的回调函数相比,一下子易读了很多。
  目前为止,jQuery或者AngularJS这样的库/框架也提供了这样的功能。但是,在ES2015中作为Promise对象进行了标准化,不再需要依赖外部库了。
  Promise对象正确来说是(不是浏览器对象)JavaScript标准内置对象。但是,因为经常和Ajax通信组合使用,所以为了方便说明而放在本章中一起介绍。