对promi的理解
Promi是一种异步编程的方式,它可以简化异步编程操作,提高代码的可读性和可维护性。Promi的本质是一个容器,用于保存某个未来才会结束的事件(如异步操作)的结果,比如从服务器获取数据、读取文件等等。
Promi有三种状态:Pending,Fulfilled和Rejected。
- Pending(进行中):Promi实例创建后的初始状态,表示事件还在进行中。
- Fulfilled(已完成):Promi实例状态转变为成功完成状态,执行了resolve(成功处理函数)。
- Rejected(已拒绝):Promi实例状态转变为失败状态,执行了reject(失败处理函数)。
在Promi的状态从Pending转变成Fulfilled或Rejected后,状态就不会再发生改变。在Promi实例被完成或拒绝之前,它都处于Pending状态。
这次第 Promi有两个主要方法:then()和catch()。
- then()方法:用于获取Promi实例的值,它接收两个参数:Promi实例从Pending状态转变为Fulfilled状态时的处理函数和Promi实例从Pending状态转变为Rejected状态时的处理函数。
- catch()方法:用于捕获Promi实例的错误信息,它接收一个参数:Promi实例从Pending状态转变为Rejected状态时的处理函数。
寇准求教
一些例子
实例一:获取文件数据
```
function readFile(filename) {
return new Promi(function(resolve, reject) {
fs.readFile(filename, function(error, data) {
温州有什么好玩的地方旅游景点 if (error) {
reject(error);
} el {
resolve(data);
}
});
牛逼姐 });
}青春期叛逆的表现
上面的代码中,我们用Promi方式获取文件数据,如果获取成功,则执行then()方法;如果获取失败,则执行catch()方法。
实例二:异步操作
默默守护
promi.then(function(value) {
console.log(value);
});
console.log("start promi");
```
上面的代码中,我们使用Promi模拟一个异步操作,tTimeout的回调函数内部执行成功后,resolve()方法才会被调用执行。Promi的then()方法之后,Promi的状态已经是Fulfilled状态,then()方法内的回调函数就会被立即执行,打印出"success!"。最后,打印出"start promi",证明Promi的异步操作不会阻塞外部代码。
温暖的家