Promise知识点梳理

定义

Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。

基本用法

Promise的构造函数接受一个函数作为参数,而传入的这个函数又有两个参数分别为resolve和reject,这两个参数是JavaScript引擎提供的用来转变Promise状态的函数。
resolve函数将Promise的状态由Pending转换成Resolved,而reject函数是从Pending状态转换成Rejected。它们都可以在转换状态的同时,传递参数(如异步操作成功的结果或失败的原因)出去到对应的回调函数。
然后利用then方法去定义Resolved和Rejected的回调函数。

var p = new Promise(function(resolve, reject) {
    // do something  
    // ...  
    
    // 转变Promise的状态 
    resolve('ok');
});
// 定义对应状态下的回调函数
p.then(function(msg) {
    console.log(msg);
}, function(err) {
    console.error('出错了');
});  

方法

规范

延伸阅读

参考链接