nodejs需要经过if else处理的代码逻辑中需要有大量重复代码,但是局部不一致时,如何简化

示例描述:size有1,10,100三种值,需要根据size值判断需要向哪个文件中写入对应数据,如果用if else语句来判断,则path、message以及写入文件部分代码均需大量重复,仅有小部分不同。

则:类似需求可以通过将不同数据部分存放在对象中,使用ES6的解构语法从该对象中提取相应数据。并将它们传递给后续函数或方法中使用。

示例代码:

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

let data = {
  1:[],
  10:[],
  100:[]
}
// 向文件中写入数据
function writeData(queries,cnt,time,size,database){
  const fileData = {
    1: {
      path: path.join(__dirname, '../public/linesData/linesData1.json'),
      message: 'linesData1数据写入成功'
    },
    10: {
      path: path.join(__dirname, '../public/linesData/linesData10.json'),
      message: 'linesData10数据写入成功'
    },
    100: {
      path: path.join(__dirname, '../public/linesData/linesData100.json'),
      message: 'linesData100数据写入成功'
    }
  }

  //通过size参数判断需要向哪个属性中写入数据
  const jsonData = data[size];
  jsonData.push(handleDataToJson(queries, cnt, time, database));

  //通过size判断需要向哪个文件中写入数据,并输出对应的成功信息
  const { path: filePath, message: successMessage  } = fileData[size];
  //向对应文件中写入数据
  fs.writeFile(path.join(filePath),JSON.stringify(jsonData, null, 2),(err)=>{
    if(err) throw err;
    console.log(successMessage);
  })
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值