2020-02-17 Promise例子

多重promise(串行)

let test = function() {
  return new Promise(function(resolve, reject){
    setTimeout(function(){
      resolve();
    }, 2000);
  })
}

test().then(function() {
  console.log('测试 resolve')
})

test().then(function(){
  return new Promise(function(resolve, reject){
    setTimeout(function(){
      resolve()
    }, 2000);
  })
}).then(function(){
  console.log('多重promise')
})
输出的结果
node .\promis-test.js
测试 resolve
多重promise

promise中的catch

// 可以抛出一个错误,然后用promise中的catch接住

// promise 中的 catch 用于捕获异常
let test = function(num) {
  return new Promise(function(resolve, rejcet){
    if (num > 5) {
      resolve();
    } else {
      // 抛出一个错误
      throw new Error;
    }
  })
}

test(3).then(function() {
  console.log('resolve 正常');
}).catch(function(error) {
  console.log('捕获异常', error);
})

你可能感兴趣的:(2020-02-17 Promise例子)