什么是promise,如何去理解和正确使用?

标签:2024-05-15 23:22:05

promise是一个构造函数,是用来处理异步操作的解决方式。

promise构造函数是同步执行的,then方法是异步执行的。

1)是构造函数

2)用来处理异步操作

3)有两个回调方法resovlg()、reject(),分别是成功和失败,如果这两个方法没有调用时,then方法是不执行的。

示例:

new Promise(resolve=>{
console.log(1);
resolve(3);
}).then(res => {
console.log(res);
});
console.log(2);
// 输出结果 1, 2, 3

Promise.all()

Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。

const p = Promise.all([p1, p2, p3]);

(1)只有p1、p2、p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1、p2、p3的返回值组成一个数组,传递给p的回调函数。

(2)只要p1、p2、p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实例的返回值,会传递给p的回调函数。

finally() 方法用于指定不管 Promise 对象最后状态如何,都会执行的操作。该方法

不管promise最后的状态,在执行完then或catch指定的回调函数以后,都会执行finally方法指定的回调函数。

原文出处:http://www.dongblog.com/notes/51.html
来源:博客网 转载请注明出处!

活跃用户

Admin
Ta还没有签名
32号星期八
Ta还没有签名
Sololsso
Ta还没有签名
NagaseMiyu
Ta还没有签名

友情链接


Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093

Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093