Promise 是一种处理异步操作的方法,是es6新语法。promise可以讲异步操作包装成一个对象,并且提供了一些方法来管理异步操作的状态,使得异步操作更加可控,可靠和更容易使用
promise对象有三种状态:pending(等待),fulfilled(已成功),Rejected(已失败)。
当promise对象被创建时,他的状态为pending,当异步操作执行成功是,promise对象的状态对变为fulfilled,同时会执行then()方法中的回调函数。当异步操作执行失败是,promise对象的状态会变成Reject,同时会执行carch()方法中的回调函数。
Promise对象的主要提点是可以链式调用then()和catch()方法,这样可以通知指定回调函数来处理异步操作的结果,而且每个回调函数都可以返回一个新的romise对象,使得异步操作可以串联执行,从而实现更加复杂的异步操作逻辑
总之,promise是一种强大的异步变成解决方案,他可以是异步编程更加可读,可维护、课扩展、并且可以有效避免回调地狱问题。