promise基础用法

链式结构

1、基础结构

let p1 = Promise.resolve('a');

p1.then(res => {
  // doSomething...
}).catch(err > {
  // doSomething...
})

2、在then之后或者catch之后返回其他值

let a1 = Promise.resolve('我是成功的Promise');

a1.then(res => {
  return res + ',我又加了一段文字';
}).then(res => {
  console.log( res );  // 我是成功的Promise,我又加了一段文字
})

let a2 = Promise.reject('我是失败的Promise');
a2.catch(err => {
  throw new Error('我抛出了一个Error');
}).catch(err => {
  console.log(err);  // Error: 我抛出了一个Error
})

3、用来解决回调地狱

let promise = new Promise((resolve, reject) => {
        console.log(11111);
        resolve("a");
    });

promise.then(res => {
    console.log(res)
    return new Promise((resolve, reject) => {
        resolve("b");
    })
}).then(res => {
    console.log(res);
    return new Promise((resolve, reject) => {
        resolve("c");
    })
}).then(res => {
    console.log(res);
}).catch(err => {
    console.log(err);
})

你可能感兴趣的:(promise基础用法)