gpt4 book ai didi

javascript - 为什么 Applisten 在 sequelize 之前运行?

转载 作者:行者123 更新时间:2023-12-01 16:25:48 25 4
gpt4 key购买 nike

我认为代码会在 applisten 之前成功返回,但它并不像我想的那样工作。我不明白它是如何工作的?
有人可以解释为什么吗?

sequelize
.sync()
.then(() => {
console.log('successfull')
})
.catch(err => {console.error('err',err)});
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use('/',loginRouter);
app.use('/admin',login);
app.use('/admin', indexRouter);


app.listen(3001,()=>{console.log('App running at http://localhost:3001');
})
App running at http://localhost:3001
Executing (default): CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER NOT NULL auto_increment , `username` VARCHAR(255) NOT NULL, `password` VARCHAR(255) NOT NULL, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
Executing (default): SHOW INDEX FROM `users`
successfull

最佳答案

这是一个js中的事件循环问题,可以这么简单理解,then()返回的promise属于异步任务,app. listen()是一个同步任务,用js执行机制是先同步任务再执行异步任务,请访问https://javascript.info/event-loop了解更多信息

关于javascript - 为什么 Applisten 在 sequelize 之前运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61865349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com