JavaScript是一种单线程语言。
早期,JavaScript处理异步代码非常不优雅,使用回调函数的方式进行代码嵌套,如果存在多个异步串联,代码将难以阅读。
Promise的概念是ES2015中正式纳入JavaSCript标准内的,目的就是可以使异步代码写的更加优雅。
Promise对象本身是一个构造函数,可以创建一个Promise实例。
Promise实例是做什么的? 你可以把它视为一个异步的操作。比如这样
let p = new Promise(function(resolve,reject){
setTimeout(function(){
// 异步操作的代码
resolve(); // resolve()函数会将Promise的状态修改(同理reject也会)
},1000)
})
这种状态的更改可以通过Promise.prototype.then()进行接收状态更改的消息,并返回一个新的Promise实例
于是,异步操作就类似于这样:
p.then(cb1).then(cb2).then(cb3)
有了Promise对象的帮助,异步代码将变得更加简单,易于理解。
关于Promise对象的具体学习,EC前端有详细的教程,可以查看JavaScript一栏进行学习