В Node js основная функция прерывает запись в mongoose
Первым работает код для записи в бд mongoose, успевает задать один вопрос и его мгновенно перебивает код из последующей функции play() в основном файле.
Подскажите, пожалуйста, как сделать мой процесс последовательным, чтобы функция срабатывала после полноценной записи в бд? Возможно неправильно использую async await внутри. p.s. использовать Readline Sync не подходит.
основной код файла бд
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
async function newUserCreation(userName, userCountry, userMail) {
connect(
'mongodb://localhost:27017/boomerang',
{
useNewUrlParser: true,
useUnifiedTopology: true,
},
);
rl.question('Registration:\nWhat is ur name?\n', async (name) => {
rl.question('\nYour country:\n', async (country) => {
rl.question('\nEmail:\n', async (mail) => {
await newUserCreation(name, country, mail);
process.exit();
});
});
});
// rl.pause();
// rl.resume();
await User.create({
name: userName,
country: userCountry,
mail: userMail,
});
await connection.close();
}
newUserCreation();
код основного файла, в котором идёт запуск
newUserCreation();
play();
пробовал такой вариант
play() {
await newUserCreation()
...
при запуске play должен делать clear и обнулять строку терминала, после запускать игру. На деле получается так, мы спрашиваем имя пользователя, и как только начинаем ждать его ответ, сразу запускается игра, не давая ему ответить и спросить последующие вопросы из первого кода ... Кто может помочь ? :)