Promise 是一个 ES6 新提供的类,其目的为更有条理的书写异步任务
首先先介绍一下同步编程与异步编程的区别
同步:所有任务按代码顺序执行
异步:所有任务不按顺序,同时执行
1.Promise语法
new Promise(function (resolve, reject) { 需处理代码块 });
举个例子,我们需要实现 过1s输出我是第一个,再过2s输出我是第二个, 再过3s输出我是第三个,用setTimeout实现
我们这里使用的为嵌套setTimeout实现,但是有一个缺点,现在只要输出3个值,如果我们需要更多呢?代码的篇幅将非常大,这样要进行维护或者异常处理将非常麻烦
2.接下来使用Promse对其进行封装
好了案例看完了,接下就到了Promise各个参数介绍的时候啦
声明对象时,需要带两个函数文中为resolve与reject,名字可自定义(尽量见名知意),调用 resolve 代表函数成功,reject 是出现错误时所调用的
Promise 类有 .then() .catch() 和 .finally() 三个方法
then():处理调用成功的结果
catch():处理程序出现异常的结果
finally() 是在 Promise 执行的最后一定会执行的序列
成功执行
出现异常
以上便是博主个人理解,如有错误欢迎纠正