zoukankan      html  css  js  c++  java
  • Promise封装读取文件的方法

    // 需求:你要封装一个方法,我给你一个要读取文件的路径,你这个方法能帮我读取文件,并把内容返回给我

    const fs = require('fs')
    const path = require('path')

    // 这是普通读取文件的方式
    /* fs.readFile(path.join(__dirname, './files/1.txt'), 'utf-8', (err, dataStr) => {
    if (err) throw err
    console.log(dataStr)
    }) */

    // 初衷: 给定文件路径,返回读取到的内容
    // 我们可以规定一下, callback 中,有两个参数,第一个参数,是 失败的结果;第二个参数是成功的结果;
    // 同时,我们规定了: 如果成功后,返回的结果,应该位于 callback 参数的第二个位置,此时, 第一个位置 由于没有出错,所以,放一个 null; 如果失败了,则 第一个位置放 Error对象,第二个位置防止一个 undefined
    function getFileByPath(fpath, callback) {
    fs.readFile(fpath, 'utf-8', (err, dataStr) => {
    // 如果报错了,进入if分支后,if后面的代码就没有必要执行了
    if (err) return callback(err)
    // console.log(dataStr)
    // return dataStr
    callback(null, dataStr)
    })
    }

    /* var result = getFileByPath(path.join(__dirname, './files/1.txt'))
    console.log(result) */
    getFileByPath(path.join(__dirname, './files/11.txt'), (err, dataStr) => {
    // console.log(dataStr + '-----')
    if (err) return console.log(err.message)
    console.log(dataStr)
    })
  • 相关阅读:
    P5468 [NOI2019]回家路线
    P1919 【模板】A*B Problem升级版(FFT快速傅里叶)
    P4390 [BOI2007]Mokia 摩基亚
    P4234 最小差值生成树
    P5459 [BJOI2016]回转寿司
    P2173 [ZJOI2012]网络
    P2163 [SHOI2007]园丁的烦恼
    P3826 [NOI2017]蔬菜
    P3327 [SDOI2015]约数个数和
    P1829 [国家集训队]Crash的数字表格 / JZPTAB
  • 原文地址:https://www.cnblogs.com/lujieting/p/10473729.html
Copyright © 2011-2022 走看看