node.js - 如何将 async/await 与 mongoose 一起使用

标签 node.js asynchronous mongoose error-handling async-await

在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 是什么?变量以及如何检查错误或成功?基本上我想要一个类似的片段,但用正确的异步/等待语法编写。

我也想知道,因为我有自动重新连接,其中 dbOptions :

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

它会“卡在” await 上吗?永远,以防数据库连接不可用?我希望您能给我一些线索,告诉我会发生什么以及如何运作。

最佳答案

Basically I want a similar snippet, but written with proper async/await syntax.

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

关于node.js - 如何将 async/await 与 mongoose 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54890608/

相关文章:

c++ - 函数指针在C和C++中都立即返回吗?

mongodb - 重命名数组中的子文档字段

javascript - Mongoose - 删除子文档数组项

node.js - 为什么node express req.session随着redis消失了?

javascript - 在编辑器中找不到 module.exports 类,并且在运行时也没有找到构造函数

javascript - 当我使用 app.use 时 Passport 总是返回 401

c# - C#中异步方法回调的区分

javascript - 如何从异步调用返回响应?

javascript - 比较两个数组,去掉重复项

javascript - 如何仅提取 6 个文档且字段中的值为 true?