Skip to content

一、异步进阶-Promise

1. Promise有哪三种状态?如何变化?

  • 三种状态
    • pending resolved rejected
    • pending -> resolvedpending -> rejected
  • 状态的表现和变化
    • pending状态,不会触发thencatch
    • resolved状态,会触发后续的then回调函数
    • rejected状态,会触发后续的catch回调函数
    js
      const p1 = Promise.resolve(100); // resolved
      // console.log('p1', p1);
      p1.then(data => {
        console.log('data', data);
      }).catch(err => {
        console.error('err', err);
      })
    
      const p2 = Promise.reject('err'); // rejected
      // console.log('p2', p2);
      p2.then(data => {
        console.log('data2', data);
      }).catch(err => {
        console.error('err2', err);
      })
  • thencatch对状态的影响
    • thencatch方法都是正常返回resolved,里面有报错则返回rejected

promise.pngpromise.png

  • 题解
    promise.pngpromise.pngpromise.png

Released under the MIT License.