回调地狱
多层回调函数的相互嵌套。可读性差,难以维护。
Promise
用于解决回调地狱问题。
基本概念
是一个构造函数。new出来的一个实例对象,代表一个异步操作。
Promise.prototype(原型对象)上包含一个.then()方法。
.then()方法用来预先指定成功和失败的回调函数。成功必须写,失败可以省略。
Promise支持链式调用,只要.then()函数的返回结果是一个Promise对象,就可以继续调用.then()方法,从而解决回调地狱问题。
.catch()用来捕获错误。
.all()方法会发起并行的异步操作,等所有的异步操作结束后才会执行下一步的.then()操作。
race()方法也会发起异步操作,只要任何一个异步操作完成就立即执行.then()操作。