Promise

Promise是在ES6中用来解决回调地狱最好的方法。

 

Promise是一个构造函数,我们可以创造他的实例对象,new出来的Promise实例对象,代表一个异步操作。

在Promise.prototype原型对象上上包含了一个,then()方法,我们可以new Promise实例对象通过原型链的方式来使用.then()方法

.then()方法是用来预先指定成功和失败的回调函数,我们可以使用他来提前为异步操作指定回调函数

.then(result=>{} ,error=>{})

 

由于node官方提供的fs模块只支持以回调函数的方式来读取文件,不支持Promise的调用方式。因此需要先安装then-fs第三方包,来支持这个操作。

 

.then()方法特性:如果在上一个.then()方法中返回了一个新的Promise实例对象,那么我们可以继续使用.then()方法来进行链式调用,就是只要是Promise实例对象,就可以一直.then(),来解决回调地狱问题

 

.catch()捕获前面链式调用中的错误

.catch((err)=>{

  console.log(err.message)

})

 

Promise.all()方法:发起并行的Promise异步操作,等所有的异步操作全部结束之后才会执行.then()。

Promise.all(异步操作对象).then()

 

Promise.race()方法:这个和all相反,这个只要其中一个完成操作,就会立刻执行下一步操作。

 

posted @   漫步火星  阅读(20)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示