Я пытаюсь выполнить связывание функций в классе Javascript, возвращая это после каждого метода, но почему-то это не работает ..:
let sql = require('mssql');
let {logger} = require('../utils/logger');
let config = require('config');
//mssql_stellenanzeigen_config = config.get('stellenanzeigen');
mssql_doublettencheckui_config = config.get('doublettencheckui');
class MSSQLConnectionObject {
constructor(configuration) {
this.configuration = configuration;
this.connection = undefined;
this.requestObject = undefined;
}
async build() {
let pool;
try {
pool = await new sql.ConnectionPool(this.configuration).connect();
console.log("Connection established!: ", pool);
} catch(e) {
logger.error("No SQL Database config or wrong config. Can't establish connection to MSSQL Server. " + e);
}
this.requestObject = await new sql.Request(pool);
return this;
}
static async connect(config) {
let pool;
try {
pool = await new sql.ConnectionPool(config).connect();
console.log("Connection established!: ", pool);
} catch(e) {
logger.error("No SQL Database config or wrong config. Can't establish connection to MSSQL Server. " + e);
}
this.requestObject = await new sql.Request(pool);
return this;
}
async getBuchungsquelle() {
const query = `SELECT * FROM buchungsquelle`;
return await this.requestObject.query(query).then((result) => console.log(result)).catch(err => console.log(err));
}
}
module.exports = {
MSSQLConnectionObject
}
let query= `select * from buchungsquelle`;
let a = new MSSQLConnectionObject(mssql_doublettencheckui_config);
a.build().getBuchungsquelle();
Я получаю ошибку:
a.build().getBuchungsquelle();
TypeError: a.build(...).getBuchungsquelle is not a function
почему это не работает?Есть ли ошибка в том, как вернуть это из моих функций?