Я работаю над API, где время ответа API очень важно (в контексте этого ответа: { ссылка }) У меня есть две инициализации базы данных, mongodb и firebase, я хочу точно рассчитать сколько времени требуется для подключения этих баз данных
вот мой код:
const dbURI = `mongodb://xxxxxxxxxxxxxxxx`
let timeCounter = 0;
export function initMongoDb() {
timeCounter = Date.now();
if (mongoose.connection.readyState !== mongoose.STATES.connected
&& mongoose.connection.readyState !== mongoose.STATES.connecting) {
console.log("initializing mongoose");
mongoose.connect(dbURI, {
useNewUrlParser: true, useUnifiedTopology: true
}).catch(e => {
console.log("mongo connection failed for reason: ", e);
})
} else {
console.log("mongoose already connected: ", mongoose.STATES[mongoose.connection.readyState], "took: ", Date.now() - timeCounter, "ms");
}
}
mongoose.connection.on('connected', function () {//connected
console.log("mongooseListner: Mongoose is connected, took: ", Date.now() - timeCounter,"ms");
});
, который дает мне журнал, как это:
> mongooseListner: Mongoose is connected, took: 1310 ms
или
> mongoose already connected: connected took: 0 ms
Я хочу то же самое для базы данных Firebase, вот мой код:
export function initFirebase(){
if (admin.apps.length === 0) {
console.log("initializing firebase database");
admin.initializeApp(functions.config().firebase)
}else{
console.log("firebase is already initialized");
}
}
, но метод initializeApp в Firebase не обеспечивает (лучший из моих знания и документы, которые я прошел до сих пор) любое обещание или связанное событие, поэтому я не могу подсчитать, сколько времени на самом деле требуется для инициализации
, пожалуйста, предложите, как я могу это сделать, любой обходной путь будет оценен