链式调用
1.在Promise中then方法的返回是一个新的Promise,可以理解为后续处理也是一个任务;
2.新任务的状态取决于后续处理:
2.1.如果没有相关的后续处理,新任务的状态和前任务一致,数据为前任务的数据
2.2.如果有后续的处理但还未执行,新任务挂起
2.3.如果后续处理执行了,则根据后续处理的情况确定新任务的状态
2.3.1.后续处理执行无错,新任务的状态为完成,数据为后续处理的返回值
2.3.2.后续处理执行有错,新任务的状态为失败,数据为异常对象
2.3.3.后续处理执行后返回的是一个任务对象,新任务的状态和数据与该任务对象一致
链式调用常见形式
/*
* 任务成功后,执行处理1,失败则执行处理2
*/
pro.then(处理1).catch(处理2)
/*
* 任务成功后,依次执行处理1、处理2
*/
pro.then(处理1).then(处理2)
/*
* 任务成功后,依次执行处理1、处理2,若任务失败或前面的处理有错,执行处理3
*/
pro.then(处理1).then(处理2).catch(处理3)
1617

被折叠的 条评论
为什么被折叠?



