promise 基本用法

new Promise((resolve, reject) => {
  setTimeout(() => {//什麼情況下執行,比方說接口請求成功
    resolve({name:'san'});
  }, 500);
})
.then(val => {//成功回調
  console.log(val.name);//san
}, err => {
  console.error(err);//报错
});

.........

new Promise((resolve, reject) => {
  console.log(e);
})
.catch(err => {
  console.log('error be rejected?', err);// 捕获内部错误
});
.........
链式调用
let p = new Promise((resolve, reject) => {
  resolve('i am resolved');
})
.then(val => {
  return val;
});
console.log(p);

在then中return的值又变成了promise对象。 

p.then(val => {
console.log(val);// i am resolved
});

摘自 http://xixitoday.com/2017/09/30/promise/  写的通俗易懂

原文地址:https://www.cnblogs.com/92xcd/p/8119401.html