最近复习promise 对象的时候,发现promise链式编程时then返回值不太懂的问题,查阅资料后,总结如下:
then()的返回值:
1.回调函数return 任意数值 或者 不返回数据(返回ndefined) 时,then()方法返回的是一个状态为Fulfilled状态的promise对象
2.回调函数return promise* 返回一个promise*对象时, then()方法返回的是这个promise对象 (状态由这个promise*决定 可能是Fulfilled 也可能是Rejected)
3.回调函数throw error 抛出错误, then()方法返回的是一个状态为Rejected的promise对象
4.then()方法没有执行里面的任何一个回调函数时,返回当前这个promise对象
所以,这个时候就能明白 then() , catch()的链式编程了