异步函数:哪个Console.log首先称为?
我的问题是参考以下代码。当我在终端“ node app.js”上调用此文件时...我希望在 [a] 之前先看到 [b] ,因为功能 adddress(res)是异步,它具有关键字等待,因此在 console.log.log(“ [a]”之前,请先在继续/打电话之前首先完成/调用。 )。另外,我的理解是,呼叫站中的最后一项也是第一个被拨打/执行的项目(LastFirtSout)。因此,由于函数辅助(res)在继续之前应执行。
再次感谢大家,期待着进一步的理解。
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/relationshipDemo', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log("MONGO CONNECTION OPEN!!!")
})
.catch(err => {
console.log("OH NO MONGO CONNECTION ERROR!!!!")
console.log(err)
})
const userSchema = new mongoose.Schema({
first: String,
last: String,
addresses: [
{
_id: { id: false },
street: String,
city: String,
state: String,
country: String
}
]
})
const User = mongoose.model('User', userSchema);
const makeUser = async () => {
const u = new User({
first: 'Harry',
last: 'Potter',
})
u.addresses.push({
street: '123 Sesame St.',
city: "New York",
state: 'NY',
country: 'USA'
})
const res = await u.save()
addAddress(res)
console.log(res);
console.log("[A]")
}
const addAddress = async (id) => {
const userNow = await User.findById(id);
userNow.addresses.push({
street: '123 Florida',
city: "Miami",
state: 'FL',
country: 'USA'
})
const userSaved = await userNow.save();
console.log(userSaved)
console.log('[B]')
}
makeUser()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论