17. Promises

ES6 对 Promise 有了原生的支持,一个 Promise 是一个等待被异步执行的对象,当它执行完成后,其状态会变成 resolved 或者 rejected

  1. var p = new Promise(function(resolve, reject) {
  2. if (/* condition */) {
  3. // fulfilled successfully
  4. resolve(/* value */);
  5. } else {
  6. // error, rejected
  7. reject(/* reason */);
  8. }
  9. });

每一个 Promise 都有一个 .then 方法,这个方法接受两个参数,第一个是处理 resolved 状态的回调,一个是处理 rejected 状态的回调:

  1. p.then((val) => console.log("Promise Resolved", val),
  2. (err) => console.log("Promise Rejected", err));