Promise 封装读文件的方法

本文详细介绍了如何使用Promise封装一个读取文件的方法,从基本定义、创建异步操作到调用resolve和reject回调,以及关键的.then()和.catch()用法,适合前端开发者理解异步编程在文件操作中的应用。
摘要由CSDN通过智能技术生成

基于 Promise 封装读文件的方法

方法的封装要求:

① 方法的名称要定义为 getFile

② 方法接收一个形参 fpath,表示要读取的文件的路径

③ 方法的返回值为 Promise 实例对象

1.getFile方法的基本定义

//1.方法接收一个形参 fpath,表示要读取的文件的路径
function getFile(fpath) {
//2.方法的返回值为 Promise 的实例对象
 return new Promise()
}
注意:现在的new Promise()只是创建了一个形式上的异步操作

2.创建具体的异步操作

如果想要创建具体的异步操作,则需要在 new Promise() 构造函数期间,传递一个 function 函数,将具体的异步操作定义到 function 函数内部。

function getFile(fpath) {
​
 return new Promise( function() {
   fs.readFile(fpath,'utf8',(err,dataStr) => { })
   
 })
}

3.获取.then()两个实参

通过 .then() 指定的成功和失败的回调函数,可以在 function 的形参中进行接收,示例代码如下

function getFile(fpath) {
 return new Promise( function( resolve, reject ) {
   fs.readFile(fpath,'utf8',(err,dataStr) => { })
   
 })
}
​
getFile('./files/11.txt').then((r1) => { console.log(r1)})
  .catch((err) => console.log(err.message))
​

4.调用resolve 和 reject 回调函数

function getFile(fpath) {
 return new Promise( function( resolve, reject ) {
   fs.readFile(fpath,'utf8',(err,dataStr) => { 
       if(err) return reject(err)  //如果读取失败,则调用“失败的回调函数”
       resolve(dataStr)  //如果成功,则调用“成功的回调函数”
   })
 })
}
​
getFile('./files/11.txt').then((r1) => { console.log(r1)})
  .catch((err) => console.log(err.message))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值