在构造函数中调用方法(返回promise)是否有效

时间:2019-01-09 08:03:28

标签: typescript mongoose constructor

我有一个具有猫鼬连接的方法,所以我想知道在连接内部调用该方法是否有效?

constructor(database: string, dbmodel: string) {
this.database = database;
this.dbmodel = dbmodel;
this.models = model(dbmodel, new Schema({}));
this.configConnection(); 
}

private configConnection() {
connect('mongodb://localhost:27017/'+ this.database},options)
      .then(res => console.log(res))
      .catch(error => logger.info(error));
}

此刻约5-10秒后返回查询结果,因此不确定问题是否出在实现上或在构造函数内调用configConnection方法。

1 个答案:

答案 0 :(得分:0)

在这种情况下,我认为这并不重要,但我不会那样做。 AFAIK构造函数应仅用于实例化对象内容,因此我将使用工厂方法创建连接,然后再创建对象,或者仅在构造函数之后调用configConnection

这两种方法-唯一可以肯定的方法就是同时测量两种方法。