jshint es6 const if else阻止错误

时间:2015-10-16 17:56:23

标签: javascript node.js ecmascript-6 jshint

使用此代码:

const db        = {};
if (config.use_env_variable) {
  const sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
  const sequelize = new Sequelize(config.database, config.username, config.password, config);
}
db.sequelize = sequelize;

我收到了错误

  

' sequelize'未定义

有没有办法使用const并避免使用变通方法?

let sequelize;
if (config.use_env_variable) {
   sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
   sequelize = new Sequelize(config.database, config.username, config.password, config);
}

1 个答案:

答案 0 :(得分:2)

您可以重构代码以使用函数来创建实际对象,例如

function SequelizeFactory(config) {
  if (config.use_env_variable) {
    return new Sequelize(process.env[config.use_env_variable]);
  } else {
    return new Sequelize(config.database,
                         config.username,
                         config.password,
                         config);
  }
}

然后只需将调用函数的结果分配给sequelize

const sequelize = SequelizeFactory(config);
相关问题