Как использовать async / await с мангустом - PullRequest
0 голосов
/ 26 февраля 2019

В node.js у меня был код, подобный следующему:

mongoose.connect(dbURI, dbOptions)
.then(() => {
        console.log("ok");
    },
    err => { 
        console.log('error: '+ err)
    }
);

Теперь я хочу сделать это с помощью синтаксиса async / await.Таким образом, я мог бы начать с var mcResult = await mongoose.connect(dbURI, dbOptions);, после чего он будет ждать операции, пока не закончится с каким-либо результатом (очень похоже на вызов функции C read() или fread() в синхронном режиме).

Но что я должентогда пишешь?Что это возвращает к переменной mcResult и как проверить на ошибку или успех?В основном я хочу подобный фрагмент, но написанный с правильным синтаксисом async / await.

Также мне интересно, потому что у меня есть автоматическое переподключение, среди dbOptions:

dbOptions: {
  autoReconnect: true,
  reconnectTries: 999999999,
  reconnectInterval: 3000
}

Будет ли он "завис"на await навсегда, если соединение с базой данных недоступно?Я надеюсь, что вы можете дать мне подсказку о том, что произойдет и как это сработает.

1 Ответ

0 голосов
/ 26 февраля 2019

В основном я хочу подобный фрагмент, но написанный с правильным синтаксисом async / await.

(async () => {
  try {
    await mongoose.connect(dbURI, dbOptions)
  } catch (err) {
    console.log('error: ' + err)
  }
})()
...