(1) 简单表达: 由 then()指定的回调函数执行的结果决定
(2) 详细表达:
① 如果抛出异常, 新 promise 变为 rejected, reason 为抛出的异常
② 如果返回的是非 promise 的任意值, 新 promise 变为 resolved, value 为返回的值
③ 如果返回的是另一个新 promise, 此 promise 的结果就会成为新 promise 的结果
let p = new Promise((resolve, reject) => { resolve('ok'); }); //执行 then 方法 let result = p.then(value => { // console.log(value); //1. 抛出错误 throw '出了问题'; //2. 返回结果是非 Promise 类型的对象 return 521; //3. 返回结果是 Promise 对象 return new Promise((resolve, reject) => { // resolve('success'); reject('error'); }); }, reason => { console.warn(reason); }); console.log(result);