javaScrip

概念-promise和bind

function case3() {
  // 如果promise1是rejected态的,并且没有定义onRejected,则promise2也会是rejected态的。
  let p1 = new Promise((resolve, reject) => {
    // throw 'p1 error'
    resolve();
  });

  p1.then(res => {
    let a = 2;
    return a;
    console.log(1);
  }).then(
    a => {
      console.log('not run:', a);
    },
    e => {
      // 如果p1的 onReject 抛出了异常
      console.log('handle p2:', e);
    }
  );
}
case3();

/* bind方法测试开始 */
/* function case4(){
  let p1 = new Promise((resolve, reject)=>{
    resolve(1)
  })
  p1.then((res)=>{
      console.log(res)
      throw 'p1 onFull error'
  }).then(()=>{}, (e)=>{
      console.log('2:', e)
      return 123
  })
}
case4() */

/* function a(){
  console.log(this.name)
}
// a()
var b = {
  name: 'apple'
};
a.bind(b)()
 */

/* bind方法测试结束 */
上次更新: