node环境下通过promise解决回调地狱:以文件拷贝为例

背景知识: 回调地狱:这个现象或者名词的出现和node中绝大多数API都是以回调的形式进行而出现的,所谓的回调地狱,可以直白的说,就是回调嵌套的层数太多导致的就以本次的文件拷贝为例,如果通过node的fs模块提供的readFile和writeFile这两个方法来做的话,势必会出现回调嵌套的,示例代码如下:/* jshint esversion:6 */// 导入fs模块cons...
摘要由CSDN通过智能技术生成

背景知识:

  回调地狱:这个现象或者名词的出现和node中绝大多数API都是以回调的形式进行而出现的,所谓的回调地狱,可以直白的说,就是回调嵌套的层数太多导致的

就以本次的文件拷贝为例,如果通过node的fs模块提供的readFile和writeFile这两个方法来做的话,势必会出现回调嵌套的,示例代码如下:

/* jshint esversion:6 */
// 导入fs模块
const fs = require('fs');
// 目标文件
const src_file = './data/name.txt';
// 待备份的文件
const dest_file = './data/back.txt';
// 将name文件下名字包含"test"的提取出来并写入到back文件中
fs.readFile(src_file, (err, data) => {
    if(err){
        throw err;
    }
    // 读取到文件内容
    let nameInfo = data.toString('utf-8');
    console.log('读取到的名字信息是:', nameInfo);
    // 将名字按照逗号分隔成数组并提取出其中包含test的名字出来
    let nameList = [];
    nameInfo
        .split(',')
        .filter(a => a.indexOf('test') != -1)
        .forEach(a => nameList.push(a));
    console.log(n
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值