I am not sure what exactly oop style of nodejs is called, so please pardon for me that and let me know if you know exact word for this.
So comming to my question, I am proficient with nodejs and have used async await a lot in my previous codes. But now I need to migrate my code to oop style of coding (may be typescript style? ). So I am really not sure how I can use async await with this. Here is what I have tried till now:
==server.js
import bookController from './routes/books/bookController';
import bookService from './routes/books/bookService';
import bookQueries from './routes/books/bookQueries';
let bookCtrl = new bookController(bookService, bookQueries);
app.get('/books/allbooks', (request, response) => {
bookCtrl.getAllBooks(request, response);
});
== bookController.js
export default class bookController extends baseController {
constructor(bookService, bookQueries){
super();
this.bookService = new bookService();
this.bookQueries = new bookQueries();
}
async getAllBooks(request, response){ // Using async here throws error
var conn = await this.getBookConn();
var result = await conn.query("select * from books");
response.status(200).json(result);
}
}
== Base Controller **
import mysql from 'promise-mysql';
export default class baseController {
constructor(){
}
getBookConn(){
let bzConn = mysql.createConnection({
host: 'abc.com',
database: 'test',
user: 'test',
password: 'test',
insecureAuth: true
})
return bzConn;
}
}
**