我不明白特定的异步 javascript 代码:我有几行由 node.js 运行的非常简单的 javascript,我在其中查询本地 mongoDB,主要是这样做的:需要猫鼬承诺连接到数据库mongoose.connect("...url to my local mongoDB...")
.then(console.log("Connected to DB..."))创建模式从模式创建模型定义一个异步函数来创建一个新对象,将其保存为 mongoDB 中的文档,并控制台记录尝试保存文档后返回的结果。我不明白的是 console.log("Connect to DB") 和 console.log(document.save() 的结果) 的顺序:确实,当保存没有错误时,顺序似乎没问题:我首先有“连接到数据库...”,然后是返回的保存文档:但是当由于不遵守某些要求而出现数据验证错误时,则在“连接到数据库”之后打印“连接到数据库”:关于代码的结构,我不明白为什么在打印错误后打印“已连接到数据库...”。我怀疑异步代码是原因,但我不明白为什么。这几行非常简单的代码来自“使用 Mosh 编程”课程,我们可以在他的控制台上看到完全相同的行为。更多代码细节: const mongoose = require("mongoose") mongoose .connect(my_mongo_db_url) .then(() => console.log("Connected to DB")) .catch(err => console.log("Could not connect to DB")) const courseSchema = new mongoose.Schema({ ...course schema... }) const Course= mongoose.model("Course", courseSchema ) async function createCourse(){ const course = new Course({ ...new course values... }) try { const result = await course.save()} catch (err) { console.log(err.message)} } createCourse()
添加回答
举报
0/150
提交
取消