09 promise then
Posted xiaoliziaaa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09 promise then相关的知识,希望对你有一定的参考价值。
then() 方法返回一个 Promise
链式调用:then里面回调函数(成功回调和失败回调),凡事这两个回调函数里面抛出错误或者返回一个已经是拒绝状态的 Promise。
那么 then 返回的 Promise 对象将是rejected状态,走下一个then里面的失败回调函数
try-catch
new Promise((resolve, reject) => { resolve(1) }).then(data => { console.log(data) return 2 }).then(data => { console.log(data); return Promise.reject(20) //一旦promise变为rejected直接走catch 后面的人所有then都不走 }).then(data => { console.log(data) }).catch(err => { console.log(err) }) //1 2 20
then两个回调函数
then两个回调函数,上一个then的promise状态变为rejected 状态,就走临近下一个then的失败回调函数,不会直接调到最后一个
// new Promise((resolve, reject) => { resolve(1) }) .then(data => { console.log(data) return Promise.reject(20) }, err => { console.log(err) return 3 }) .then(data => { console.log(data); }, err => { console.log(err); return 3 }) .then(data => { console.log(data); }, err => { console.log(err); }) //1 20 3
以上是关于09 promise then的主要内容,如果未能解决你的问题,请参考以下文章