Promise,ES6中定义的规范,如今都9102年了,你们基本都会用Promise,但对于Promise中then,有没有精确地认知呢,请往下看。promise
官方文档是这样定义的:函数
一个 promise 必须提供一个 then 方法以访问其当前值、终值和据因。文档
promise 的 then 方法接受两个参数:get
promise.then(onFulfilled, onRejected)回调函数
Todo:这里只介绍onFulfilled。方法
onFulfilled 和 onRejected 都是可选参数。margin
若是 onFulfilled 不是函数,其必须被忽略co
若是 onFulfilled 是函数:回调
当 promise 执行结束后其必须被调用,其第一个参数为 promise 的终值ps
在 promise 执行结束前其不可被调用
其调用次数不可超过一次
用通(ren)俗(hua)的话来讲:
then方法提供一个供自定义的回调函数,若传入非函数,则会忽略当前then方法。
回调函数中会把上一个then中返回的值当作参数值供当前then方法调用。
then方法执行完毕后须要返回一个新的值给下一个then调用(没有返回值默认使用undefined)。
每一个then只可能使用前一个then的返回值。
Promise规范:https://promisesaplus.com/