【问题标题】:jshint es6 const if else block errorsjshint es6 const if else 阻止错误
【发布时间】:2015-10-16 17:56:23
【问题描述】:

使用此代码:

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);
}

【问题讨论】:

    标签: javascript node.js ecmascript-6 jshint


    【解决方案1】:

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

    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);
    

    【讨论】:

      猜你喜欢
      • 2014-01-09
      • 2017-06-25
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      相关资源
      最近更新 更多