Я пытаюсь выполнить console.info, когда соединение с мангустом установлено. он успешно подключается, но никогда не запускает событие «подключено». Это моя реализация мангуста.
const config = require("../../config");
const mongoose = require("mongoose");
const connect = async () => {
const connection = await mongoose.connect(config.databaseURL, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
});
connection.connection.on("connected", () => {
console.info("connected");
});
return connection.connection;
};
const disconnect = async () => {
await mongoose.connection.close();
};
module.exports = {
connect,
disconnect,
};
Событие сокета подключения будет вызываться с использованием mongoose
, а перед этим удалите await
из const connection = await mongoose.connect(
,
mongoose.connection.on('connected', () => {
console.info("connected");
});
Обратитесь к мангусту подключения-события.
просто удалите await из метода подключения, я обновил ответ.
Разве я не должен ждать, пока мангуст сначала подключится, прежде чем вернуть его?
нет, поэтому в сокете есть опция события, если вы хотите дождаться соединения, тогда событие не будет работать.
Если я напишу прослушиватели событий перед подключением, это сработает.
да, он будет работать, и когда он подключен, он будет слушать.
хорошо, в моем случае событие не срабатывает.. я не могу понять, почему